没人知道怎么回事吗?http://bbs.csdn.net/topics/390184864这个说是socket关闭之前什么参数被GC了,但是socket并不为null并且isconnected,那么我该怎么关闭呢,我该怎么判断呢?

解决方案 »

  1.   

    用sendUrgentData 发送一个字节看网络是否还处于连接状态中
      

  2.   

    myAcceptSocket.shutdownOutput();  
    myAcceptSocket.shutdownInput();为什么要用这两个方法关闭呢
      

  3.   

    可能是myAcceptSocket这个句柄之前已经关闭过了。
    你可以检查一下代码的逻辑,避免重复关闭socket。
    另外,socket关闭以后,socket成员变量置null是个好的代码风格,可以避免或者帮助定位类似错误。