第一种采用线程来做。多线程的办法应该思路比较清楚。sleep(多少秒);就可以了。第二种定时器。so.setSoTimeout(10*1000*60);

解决方案 »

  1.   

    用线程休眠的方法来做的话,是不是并没有真正的so.close(),这样的话8089端口有没有释放?用第二种方法so.setSoTimeout(10*1000*60);,应该放在那个位置?是不是这样:while(ture){
    ServerSocket sSocket = new ServerSocket(8089);
    Socket so=null;
    so=sSocket.accept();
    so.setSoTimeout(10*1000*60);
    so.close();
    }
    是这样吗?
      

  2.   

    没有连接你干嘛要so.close()呀,又不是有连接但是so.getSoTimeout时间没有任何操作,你要短掉它,所以serverSocket没有关系的,一直accept就可以了
    如果,你不想阻塞的话,用nio 中的selector就可以了
      

  3.   

    要求性能的话还是selector吧。再说了你关闭它干吗阿,关了不是还得重新创建一个由什么差别马
      

  4.   

    用线程休眠的方法来做的话,是不是并没有真正的so.close(),这样的话8089端口有没有释放?用第二种方法so.setSoTimeout(10*1000*60);,应该放在那个位置?是不是这样:while(ture){
    ServerSocket sSocket = new ServerSocket(8089);
    Socket so=null;
    so.setSoTimeout(10*1000*60);
    so=sSocket.accept();
    so.close();
    }
    是这样