如何在ServerSocket服务器端监听某个客户端socket是否退出连接?

解决方案 »

  1.   

    试试这个方法1.建一个Map用来保存用户链接
    2.ServerSocket.accept()之后将生成的socket保存到Map中
    3.轮询Map中的每个socket的isClose方法,如果返回true则通知下
    Map userSockets=new HashMap();
    while(true)
    {
    checkSockets();
    Socket acceptedSocket=ServerSocket.accept() ;
    userSockets.put(userName,acceptedSocket);
    }private void checkSockets
    {
    Set set=userSockets.keySet() ;
    Iterator it=set.iterator() ;
    while(it.hasNext())
    {
    Socket socket=it.next();
    if(socket.isClose())
    {
    doSomething();
    }
      

  2.   

    很简单,当客户端退出时,在ServerSocket端会抛出异常,在异常中进行相关的处理就行啦