public class SocketTransfer {  private BufferedOutputStream out;  //
  // 初始化out = new BufferedOutputStream(socket.getOutputStream());
  //  //
  // 略去
  //  public synchronized void send(Object msg) throws IOException {
    ObjectOutputStream os= new ObjectOutputStream(out);
    os.writeObject(msg);
    out.flush();
    //System.out.println("Message sent.");
  }
}不是很明白你真正的意思,但这样每次都可以new一个ObjectOutputStream处理。

解决方案 »

  1.   

    to  CoolAbu(绿茶的白开水(★★★★)) :
        server必须保持与socket的在线状态,不是即时处理并关闭。to  whiteshen(White.SHEN):  
        就是第二次对out调用new ObjectOutputStream(out)的时候,客户端的socket就抛出StreamCorruptedException
      

  2.   

    不是让你关闭Socket呀,是让你关闭OutputStream.
      

  3.   

    OK,多谢各位,自己搞定了:) 
    是每次都重复创建ObjectOutputStream的问题。 把他封到一个函数里,所有的发送都由这个函数来, 就oK了