copy 到编译器里面运行一下就好了。帮帮忙吧!谢谢!

解决方案 »

  1.   

    upupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupup
    upupup  upupupupupupup  upupupupupup                  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup                  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupupupupupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupupupupupupupupupup
    upupup                  upupupupupup  upupupupupupupupupupup  upupup
    upupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupup
      

  2.   

    upupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupup
    upupup  upupupupupupup  upupupupupup                  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupup  upupup  upupup
    upupup  upupupupupupup  upupupupupup                  upupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupupupupupup  upupup
    upupup  upupupupupupup  upupupupupup  upupupupupupupupupupupupupupup
    upupup                  upupupupupup  upupupupupupupupupupup  upupup
    upupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupup
      

  3.   

    我现在已经明白我的问题在哪里了!谢谢各位的参与。可是虽然知道了问题在哪里,我还是找不到解决的方法。现在我的问题是,怎样做才能停止一个已经开始accept()的ServerSocket.
    比如说
    LocalServerSocket.accept();之后当前的线程就被block了,在这个时候,如果我不想再继续
    开这个server,我该怎样关闭呢?我曾经试过LocalServerSocket.close(),但是这样会抛出IOException.各位大大,有什么办法吗?谢谢!!!           
                                    
      

  4.   

    这个应该很好办吧!你的LocalServerSocket是在主线程吧?
    while(true) {
      Socket s=LocalServerSocket.accept();
    }
    你说的你的线程被block后,你不想要这个Server了?你说的是s还是LocalServerSocket?如果是s呀,我就建议你为打开的服务建立一个线程,把这个线程关闭就可以了.
      

  5.   

    我说的是LocalServerSocket,我要关闭的是主线程里的ServerSocket.可是我每次调用LocalServerSocket.close(),就会抛出IO异常。另外我试了一下sleep(),可是这下连我的主线程也没反映了。大家再帮帮忙吧!
      

  6.   

    还是用设置标志位关闭吧:
    设置class ServerThread extends Thread{
    private boolean stoped=false;
    .......
             public void stop(){stoped=true};//添加方法
    public void run(){
    try{
    LocalServerSocket=new ServerSocket(PORT);
    Tcpserver.clear();
                                  ...... while(!stoped){//监测标志位
    //spawn a child thread
    new ClientThread(LocalServerSocket.accept());
    }
    }
    catch(IOException ioe){
    messager.printerr("IO Exception Detected:"+ioe.getMessage());
    messager.printerr("The Application is now terminated.");
    System.exit(1);
    }finally{
                          LocalServerSocket.close();//加入
                      }
    }
    这样你就可以在main()里调用ServerSocket.stop()来终止了
      

  7.   

    sorry, I am in school now and here got no IME,so I have to use english.suppose the program run up to the line:
            new ClientThread(LocalServerSocket.accept());
    and the thread has been blocked due to the call to accept();
    so the program is just stop there and never check the flag, and the flag got no use.
    so any other ideas? thanks anyway.
      

  8.   

    finally,I solve it!using close and catch the SocketException.
    very happy now. thanks~~~!