【发布时间】:2014-09-21 21:09:13
【问题描述】:
我正在开发一个简单的多人游戏,并且大部分时间都在工作,但有时在使用 ObjectOutput 编写对象时,我会得到:
java.io.IOException: 流活动
当 ObjectOutputStream 被重置同时仍在序列化一个对象时发生。我想知道是否有某种方法可以在重置之前等待 ObjectOutputStream 完成序列化,或者是否有其他解决方案来解决这个问题?
这是出错的代码:
try {
objectWriter.writeObject(object);
objectWriter.flush();
objectWriter.reset();
} catch (Exception e) {
e.printStackTrace();
}
【问题讨论】:
-
你在使用线程吗?
-
@immibis 是的,有 2 个客户端和 1 个服务器在不同的线程上。
-
他们使用的是同一个流吗?
-
@immibis 不,每个客户端都有自己的 ObjectOutputStream。
-
writeObject之前是否抛出过任何异常(在此之前)?您是否在任何课程中覆盖readObject或writeObject?
标签: java serialization objectoutputstream