Linux 在C中关闭侦听TCP套接字

Linux 在C中关闭侦听TCP套接字,linux,sockets,tcp,timeout,Linux,Sockets,Tcp,Timeout,假设您有一个套接字监听TCP端口,并且一些客户端已连接。当在C中发出sock_close(fd)并尝试在同一端口上再次绑定时,绑定失败。在“netstat-plutnoa”上可以看到一段时间的等待状态,例如: 那么,如何正确断开服务器套接字并立即在同一端口上重新连接呢?您想在套接字上使用So\u REUSEADDR选项。相关手册页为。下面是它的用法说明。解释发生了什么。我发现了SO_REUSEADDR,正在检查它……CloudFlare的博客文章也可能提供一些关于SO_REUSEADDR的有用想

假设您有一个套接字监听TCP端口,并且一些客户端已连接。当在C中发出sock_close(fd)并尝试在同一端口上再次绑定时,绑定失败。在“netstat-plutnoa”上可以看到一段时间的等待状态,例如:


那么,如何正确断开服务器套接字并立即在同一端口上重新连接呢?

您想在套接字上使用
So\u REUSEADDR
选项。相关手册页为。下面是它的用法说明。解释发生了什么。

我发现了SO_REUSEADDR,正在检查它……CloudFlare的博客文章也可能提供一些关于SO_REUSEADDR的有用想法。
tcp        0      0 127.0.0.1:4567          127.0.0.1:32977         TIME_WAIT   -                timewait (17.12/0/0)