各位好在服务器端与多个客户端建立了socket连接,并且将这些socket存入服务器端的一个容器hashmap中,在一个线程中服务器与各个客户端通信并收集完数据,现在想通过另外一个线程中向客户端发送关闭指令,即从hashmap中取出socket进行操作,不知这种方法是否可行,或是有更好的解决办法谢谢先

解决方案 »

  1.   

    再补充一下,我放入hashmap前socket的iscolsed()是false,但是我再取出来的时候就变成true了,这是怎么回事儿呀~~~~
      

  2.   

    你是不是关闭socket的输入流或输出流了,关闭流会导致socket关闭,javadoc里有说明的
      

  3.   

    没有,在服务器程序这边一直没有关闭输入或输出流的
    问题是我放进hashmap前还检查了一次,是没关闭的,等我想用hashmap里面的socket的时候 ,一取出就变成关闭的了
      

  4.   

    oh,my god
    又来新问题了,我用
    while(true)
    {
     Socket  socket = serverSocket.appect();
     //下面用线程去处理这个socket
    }本来是多线程 的,现在只能边一个客户端了,再连第二个就报错socket is closed