ObjectOut = new ObjectOutputStream(incoming.getOutputStream()); 
ObjectIn = new ObjectInputStream(incoming.getInputStream());其中incoming是Socket,为什么ObjectIn = new ObjectInputStream(incoming.getInputStream())会抛出StreamCorruptedException?十分感谢!以下是e.printStackTrace()给出的信息
java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at Server$ThreadedHandler.<init>(Server.java:232)
at Server$startServerHandler.run(Server.java:171)
at java.lang.Thread.run(Unknown Source)错误位置就是ObjectIn = new ObjectInputStream(incoming.getInputStream());

解决方案 »

  1.   

    ObjectInputStream
    public ObjectInputStream(InputStream in)
                      throws IOException
    创建从指定 InputStream 读取的 ObjectInputStream。从流读取序列化头部并予以验证。在对应的 ObjectOutputStream 写入并刷新头部之前,此构造方法将阻塞。 public class size=14px]StreamCorruptedException[/size] extends ObjectStreamException当从对象流中读取的控制信息与内部一致性检查相冲突时,抛出此异常。 所以出现异常的最大原因可能是你在在对应的 ObjectOutputStream 写入并刷新头部时有错误
      

  2.   

    看看这里
    http://topic.csdn.net/t/20030217/19/1436961.html
    希望能给你帮助!