2014-09-21 43 views
0

我工作的一个简单的多人游戏和它的工作大部分,但有时使用的ObjectOutput写一个对象,我得到的时候:检查是否ObjectOutputStream的仍然是序列化

产生java.io.IOException :stream active

发生在ObjectOutputStream重置但仍然序列化对象时发生的情况。我想知道是否有一些方法来等待ObjectOutputStream在重置之前完成序列化,或者有另一种解决方案来解决这个问题?

下面是一段代码,它出错:

try { 
     objectWriter.writeObject(object); 
     objectWriter.flush(); 
     objectWriter.reset(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
+0

你使用线程吗? – immibis 2014-09-21 21:15:16

+0

@immibis是的,在单独的线程上有2个客户端和1个服务器。 – ThaRemo 2014-09-21 21:20:16

+0

他们是否使用相同的流? – immibis 2014-09-21 21:25:01

回答

0

要么代码是一个类的私有writeObject()方法里面,或者你必须使用相同的流多个线程。

有没有办法做你的标题要求。你只需要确保它不会发生。