如题

解决方案 »

  1.   

    如果那样做,会不会有资源泄漏了。如server端运行一个NT server程序,需要和成千上万个client通信,而且长时间运行,不关闭socket行吗?
      

  2.   

    通常返回0字节时,关闭。或者根据socket_error,如果错误太多,就可以关闭了
      

  3.   

    socket_error异常,错误太多时需要关闭,其他时候服务器没有必要关socket
      

  4.   

    客户端socket关闭的时候,服务器就要关闭对应的socket。那可是句柄啊,是有限的资源啊
      

  5.   

    一个套接口不再使用时一定要关闭这个套接口,以释放与该套接口关联的所有资源,包括等候处理的资源。
    ------------摘自<<tcp/ip 协议与网络编程>>任泰明 第126页。
      

  6.   

    server 出问题的时候
    client 停止请求的时候
    server 认为需要停的时候
    实际上根据协议来定,你也可以永远不停。协议上怎么规定你就怎么处理吧
      

  7.   

    SEND 返回值 <=0的时候,长时间没有数据通讯如果你想关掉连接的时候,先shutdown(socket,SD_BOTH),然后再CLOSESOCKET.