提供一个思路:服务器端反复查询(如ping)客户端不通就说明断开了

解决方案 »

  1.   

    ping 不行得。 如果客户端是通过代理出来得,如果有防火墙都不行呀。
      

  2.   

    ping不好,因为我有多个客户端,每个都要ping太麻烦了。还有一个问题就是我有很多嵌套线程,如何一下子都把它们结束?
      

  3.   

    我记得象vb 中的socket当断开连接时可以触发一个断开的事件,不知道java有没有。
      

  4.   

    你可以把线程设置成精灵线程,这样当主程序结束时,所有线程就都会结束了
    你可以在你的设计中在客户端采用ActionListen,当客户端断开的时候,向服务器端发送一个消息,
      

  5.   

    socket InputStream
    read()返回-1

    read(byte[] b,int off,int len)
    read(byte[] b)
    返回0或-1
    或产生socket reset by peer的SocketException
      

  6.   

    还有一个问题:如何获得与当前serversocket相连的所有socket因为我有很多客户连接,当一个客户断开时,服务器端想向所有客户发送某一客户断开的消息。