假设您有一个套接字监听 TCP 端口,并且一些客户端已连接。当在 C 中发出 sock_close(fd) 并尝试在同一端口上再次绑定(bind)时,绑定(bind)失败。在“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)
.这是一个 example它的用法。 This question解释发生了什么。
关于linux - 在 C 中关闭监听的 TCP 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3855890/