我试图在客户端避免TIME_WAIT。我连接并设置O_NONBLOCK和SO_REUSEADDR。我调用read直到它返回0。当read返回0时,errno也为0。我将其解释为服务器关闭了连接的迹象。但是,如果我调用close,则套接字将被设置为TIME_WAIT,netstat已确认。
由于我对同一主机/端口进行了多个连接,因此最终开始看到“地址正在使用”错误(请参见http://hea-www.harvard.edu/~fine/Tech/addrinuse.html)。
在read返回0后,我应该调用close吗?如果不这样做,文件描述符会被释放吗?
由于我对同一主机/端口进行了多个连接,因此最终开始看到“地址正在使用”错误(请参见http://hea-www.harvard.edu/~fine/Tech/addrinuse.html)。
在read返回0后,我应该调用close吗?如果不这样做,文件描述符会被释放吗?