各位大虾有谁会用Socket传递一个对象,有源码更好的.

解决方案 »

  1.   

    第一:你的对象需要实现 java.io.Serializable 或者 Externalizable接口,就是让对象可以串行化
    第二:把你的对象用ObjectOutputStream写到内存里面,比如写到BufferedOutputStream里面
    第三:计算内存的大小
    第四:写数据到socket另一端,包括报头,即BufferedOutputStream的长度和BufferedOutputStream里面的所有数据
    第五:socket另一端通过报头,把实际大小的数据接收到BufferedInputStream里面,再用ObjectInputStream读取即可
    当然,你要确保该类在socket两端都有,或者像RMI那样用interface
      

  2.   

    转换为字节流传输
    ObjectInputStream ,ObjectOutputStream ...