频繁地在 ObjectOutputStream 上调用 reset() 可以吗?

2023-12-13

我读过一些让我不确定并寻找替代方法的地方。是否打电话reset()太频繁会导致网络紧张,还是不必要的?

我正在使用 TCP 通过 ObjectOutputStream 发送对象。对象值在再次写入之前会发生更改。现在相同的对象但包含不同的值,没有reset()它重新发送之前发送的缓存对象的引用,该引用被读取为没有更改。我不确定是否使用reset()由于这种压力,这是一个好主意。我应该寻找另一种方式吗?

示例代码如下:

Socket socket = new Socket(ip, port);

BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
ObjectOutputStream oos = new ObjectOutputStream(bos);

while(true){
    oos.writeObject(object);
    oos.flush();
    oos.reset();

    object.x++;
}

过于频繁地调用reset()是否会导致网络压力

与什么相比?如果需要重置,那是因为需要用新值传输之前传输的对象。如果您不需要这样做,请不要调用它。如果您确实需要这样做,网络开销与功能要求无关。

还是不必要的?

呃?请翻译一下?

我正在使用 TCP 通过 ObjectOutputStream 发送对象。对象值在再次写入之前发生更改

所以你需要调用reset()或使用writeUnshared()。

现在相同的对象但包含不同的值,如果没有reset(),它会重新发送之前发送的缓存对象的引用,该引用被读取为没有更改。

正确的。所以你不能那样做。

由于这种压力,我不确定使用 Reset() 是否是一个好主意。

什么菌株?唯一的“压力”是您正在传输对象的新值,并且您的功能要求指示您必须这样做。所以你别无选择。

我应该寻找另一种方式吗?

没有其他办法了。您要么必须传输对象的新值,要么不传输。如果这样做,所有解决方案本质上都是等效的。如果你不这样做,就不要这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

频繁地在 ObjectOutputStream 上调用 reset() 可以吗? 的相关文章

随机推荐

  • Android ListView 使用 SimpleCursorAdapter 更新

    嘿 我使用列表视图来演示存储在数据库中的条目 我还有一个 EditText 元素和一个将 EditText 的内容添加到数据库中的按钮 要将视图绑定到数据库内容 我使用 SimpleCursorAdapter 和以下填充函数 private
  • 如何更改 Java Swing TextArea 中的突出显示颜色?并且,更改与突出显示位置相对应的文本开头

    问题 1 通过使用默认荧光笔 我可以使聚焦线变为蓝色 现在我想把它改成其他颜色 有谁知道如何更改这个参数 解决了 问题 2 pos 是我想要突出显示的子字符串的开始索引 我使用 setCaretPosition pos 更新显示内容 但它始
  • 在Python中使用继承

    这是我的作业 我之前在网站上看到过它 但看起来它尚未解决 并且我收到的错误消息与之前提出该问题的人不同 问题的第一部分是定义从 Employee 继承的子类 Worker 并包含一个引用另一个员工 该员工的经理 的属性 您应该定义一个方法
  • JMeter:如何知道为什么 JMeter 中的正则表达式提取器没有提取数据

    我想知道为什么 JMeter 中的正则表达式提取器在参数化后不提取数据 响应消息 内部服务器错误 添加的表达式有 名称 EVENTVALIDATION id EVENTVALIDATION 值 名称 VIEWSTATE id VIEWSTA
  • 将 ASP.NET 应用程序连接到 QuickBooks Online Edition

    我正在尝试创建一个连接到 QuickBooks Online Edition 的 ASP NET 页面 读取几个值并显示结果 到目前为止 我已经下载了 QuickBooks SDK 但我无法找到有关如何创建 asp net 页面以连接到 Q
  • 如何将 IN 与块而不是对象一起使用?

    Rebol 中的 IN 函数查找字段是否在对象中 USAGE IN object word DESCRIPTION Returns the word or block in the object s context IN is a nati
  • 如何检测来电和去电结束状态? iPhone

    我有一个要求 即应用程序应在安装后消失 并且在来电或去电时 在通话后不久应用程序应提示并显示屏幕 安装后如何消失应用程序 如何检测来电和去电 来电和去电结束后如何显示屏幕 最主要的是我是为个人而不是应用商店制作这个 因此 如果您有任何想法
  • SVN如何解决在两个分支上添加文件时的新树冲突

    当合并几个分支 使用 SVN 1 6 1 时 两个分支上都添加了一个文件 然后在这些单独的分支中处理 我遇到了新的树冲突之一 C foo txt gt local obstruction incoming add upon merge 我需
  • 通过替换字符重命名文件并覆盖

    在 Windows XP 上 在文件文件夹中 我需要重命名一些文件 将文件名中的一个字符替换为另一个字符 并覆盖任何已具有该名称的文件 例如 该文件夹包含以下 2 个文件 fileA xml fileb xml 我需要重命名fileA xm
  • 如何设置鼠标位置?

    我需要设置鼠标在屏幕上的位置 在其他一些类似的问题中 建议使用CGDisplayMoveCursorToPoint CGDirectDisplayID display CGPoint point 但我不知道如何获得CGDirectDispl
  • 两个有序可观察量的完全外连接

    假设我们有两个可观察量Observable
  • Javascript - 通过键值从数组中删除对象

    我有一个对象数组 let people Name Bob Age 45 Name Jim Age 45 let person people filter person gt person Name Bob 这会返回 Bob 但我如何删除他呢
  • 根据值将一列转换为多列

    In Python I am wondering if there is a way to transform a one column dataframe from this 进入这个 来源DF In 204 df Out 204 Cou
  • R 在 Lime 上解释 - 存储在“object”和“newdata”中的特征名称不同

    您好 我正在研究在 LIME 模型上使用 R 解释 当我运行这部分时一切都很好 Library library tm library SnowballC library caTools library RWeka library caret
  • 将 localStorage 值获取到 php [重复]

    这个问题在这里已经有答案了 我在 localStorage 中设置了一个变量 我想将它放入 php 中 当php执行时 该值已经在本地存储中设置 但是我应该如何进入php 我尝试过这样的事情 myvar 但这由于某些原因给出了Uncaugh
  • 当传递给函数时,如何强制警告使用错误大小的数组?

    假设您有一个以字符串作为参数的函数 void foo char arg 如果我们确定数组 不要与字符串长度混淆 谢谢 chux 将始终具有一定的大小 假设为 8 那么我们可以这样做 void bar char arg 8 然后这样称呼它 c
  • 聚合物 3 - 谷歌地图

    我想知道如何将 Google 地图包含在 Polymer 3 中 我刚刚从 Polymer 2 升级到 Polymer 3 这是我的示例 不是入门套件的工作基础 import PolymerElement html from polymer
  • 构建 QGIS 时未解析的符号

    我已经能够从这一步取得进展 在 Windows 7 上构建 QGIS 源代码 不工作 我正在尝试使用 Visual Studio 10 Express 构建最新的 QGIS 2 10 1 但在构建 ALL BUILD 时获取这些未解析的符号
  • 我在每个工作表的 VBA 循环中搞砸了什么?

    目前 我必须一次发送多封信件 并且通常只替换单元格中的一两个单词 问题是我需要将这些单词加粗 并且在 150 个工作表上单独使用这个宏会很乏味 我对编码非常陌生 并尝试在线搜索以编辑此代码以循环所有工作表 但我尝试的所有操作似乎只会更改我所
  • 频繁地在 ObjectOutputStream 上调用 reset() 可以吗?

    我读过一些让我不确定并寻找替代方法的地方 是否打电话reset 太频繁会导致网络紧张 还是不必要的 我正在使用 TCP 通过 ObjectOutputStream 发送对象 对象值在再次写入之前会发生更改 现在相同的对象但包含不同的值 没有