标签: java serialization
我正在编写一个基于网络的回合制java游戏,每次玩家移动时都使用java序列化API来序列化游戏状态。
令我烦恼的是,我发现api假定对象是不可变的。这意味着每次我尝试发送更新的游戏状态时,都会在客户端收到旧的游戏状态。
有没有办法让objectoutput / objectinputstream忘记已经发送了一个对象并且每次都创建一个新对象?
答案 0 :(得分:3)
ObjectOutputStream.reset()正是您要寻找的:Oracle docs。它强制流发送更新的对象。