你为什么要用instream构造两个不同的流呢(DataInputStream、 ObjectInputStream)?我觉得问题就在这里,好像只能用构造一个流吧。

解决方案 »

  1.   

    两个流是可以的啊
    inStream负责网络传输的流
    DataStream读写基本的数据类型
    ObjectStream读写自定义的数据类型
    不冲突的刚刚把InStream和OutStream两个流调换顺序就可以了
    也就是先构造Object的输出流,再构造Object的输入流,就可以了
    不过为什么上面的方法就不行呢,还是不知道为什么
    有没有高手知道的
      

  2.   

    哦,知道原因了原因是在构造ObjectInputStream时,它要读取并检验ObjectOutputStream发送
    过来的流报头,如果CS两端都采用相同的顺序来构造ObjectInputStream和
    ObjectOutputStream,那么就会导致CS两个都在等待对方发送的流报头,致使双方
    都无限等待下去。因此解决的办法是将CS两端构造这两个流的顺序调换一下。