toServer.writeObject(""); 是做什么用的,可否去掉?另外,建议把catch (IOException e) {} 改成传统的异常堆栈打印,看看是否抛异常了。

解决方案 »

  1.   

    核心还是clientSocket
    通信用的是Socket,关闭客户端的时候,根本不会发消息,也许你们的程序是发完然后关闭,但是这边接没接到谁知道呢,只要客户端一关闭,SocketServer这端马上就会抛出一个异常,通常我都是在这个异常里来进行操作的,而我看楼主你的代码是在接收到客户端发送过来的消息才进行操作的。如果你们没做特殊的处理,服务端应该是收不到你那个X的
      

  2.   


    果然是这样。客户端根本就没有传数据过去,服务器端直接就跑出EOFException了。
    谢谢你了!!
      

  3.   


    谢谢版主!问题已经解决,是抛出异常了。
    以前catch块总是弄成空的,看来这是个不好的习惯。
    谢谢!!