我正在编写一个应用程序(多人游戏),其中需要通过服务器将对象从应用程序的一个实例传递到另一个(并且非常快速)。
我正在使用ObjectOutputStreams
并ObjectInputStreams
通过套接字获得来执行此操作。
但是,传递的对象的状态会不断更新,这意味着典型的writeObject()
方法不会成功(它只写入一次对象,然后在随后调用它时传递对它的引用,这意味着它的实例的值变量从未真正更新过)。
为了“解决”这个问题,我ObjectOutputStream.reset()
在每次调用 之后都调用了该方法writeObject()
,这确实解决了更新对象状态的问题;但是,它运行得太慢了,我认为这是每次“刷新”时对象都被完整传递的结果。
那么我的问题是,如何更新通过网络传递的对象的状态,而不必完全重写对象?(我假设这是我加快速度的方法;如果我错了,或者如果存在其他方法,请分享)提前感谢您的任何建议!
此外,关于传递的对象的大小:它不是太大...几个布尔变量、几个双精度数组和一些其他次要变量(没有长度为 1000 的列表,每个列表都包含另一个列表)。