ss.setSoTimeout(10000);
这行注释掉再试一下

解决方案 »

  1.   

    注解掉是没有问题了,但是我希望ServerSocket在一定时间内没有连接就关闭。
      

  2.   

    try
    {
       while(true)
       {
           if (ss.isClosed())  break;
           try{ 
              s = ss.accept();
              pool.execute(new sss(s));//在线程池中操作
           }catch(SocketTimeoutException e ) {
               System.out.println("Socket Accept Timeout");
               ss.close();
           }
        }
        System.out.println("close socket: " + ss.isClosed());
    }
    catch(Exception e)
    {
         e.printStackTrace();
    }
      

  3.   

    楼上说的对,JAVA的SOCKET,时间到了以后没有响应的话,会抛出异常的,所以你只要捕获异常就可以了。