当客户端访问 服务器时候,服务器为每个用户分别开一个线程 并且创建Socket用于传递数据。当某个用户要传递的数据结束后,那么这个用户的线程就会终止,那这个用户的的Socket 连接还在吗??

解决方案 »

  1.   

    能说一下用 netstat 怎么观察的到吗?
    ESTABLISHED 是啥意思?
      

  2.   

    对于服务器端来说,用 netstat 是看不出来的
      

  3.   

    如果服务器不主动 关闭 客户端的连接,那么客户越多,是不是会存在大量的 ESTABLISHED ,是不是占内存?
    我看好多例子程序源码,在退出程序处理时候,他们也没有说是一个个把里客户的Socket都关掉,难到就一直放到内存里吗?
      

  4.   

    如果用是 TCP 要 CloseSocket 如果是 UDP ,是没有连接的
      

  5.   

    还在,在closesocket后线程以及相关的资源会释放,反之不成立。
      

  6.   

    lz你能将你的例子发给我一个吗?我也刚好用到,谢谢,[email protected]
      

  7.   

    当然在,这可都是系统资源啊,你不closesocket,她就一直在;进程退出的时候,那些SOCKET也许会被系统逐步释放.
      

  8.   

    不要用到的socket,即使连接已经断开也要closesocket,都是系统的一个句柄,不关闭资源就没释放