服务器端的线程中用
while(true){
socket=serverSocket.accept();}
监听一个端口,应该是等待客户端传消息过来,这个线程才能进行。
现在我想中断服务,应该用什么方法呢?

解决方案 »

  1.   

    boolean shouldStope = false;public void run(){
      while(!shouldStop){
        socket=serverSocket.accept();
      }
    }accept 和控制生命周期的方法 放到不同的线程中.
      

  2.   

    socket=serverSocket.accept();
    这句执行了以后,进程就会停在这里等待输入,如果没有的话就始终不执行。这个时候改变shouldStop的值好像也没有用
      

  3.   

    serverSocket.setSoTimeout(1000);
    while (!Thread.interrupted()) {
    try {
    Thread.sleep(1000);
    serverSocket.accept();
    } catch (InterruptedException e) {
    break;
    } catch (IOException e) {
    continue;
    }
    }