在C中closuresTCP侦听套接字

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

tcp 0 0 127.0.0.1:4567 127.0.0.1:32977 TIME_WAIT - timewait (17.12/0/0) 

那么,如何正确断开服务器套接字并立即重新连接到相同的端口?

你想在套接字上使用SO_REUSEADDR选项。 相关的手册页是socket(7) 。 这是一个使用的例子 。 这个问题解释发生了什么。