运维开发网

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

运维开发网 https://www.qedev.com 2020-05-13 09:43 出处:网络
假设您有一个侦听TCP端口的套接字,并且某些客户端已连接.当在C中发出sock_close(fd)并尝试在同一端口再次绑定时,绑定失败.在“netstat -plutnoa”上可以看到一些TIME_WAIT状态,例如:
假设您有一个侦听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).这是其使用的 example. This question解释了会发生什么.
0

精彩评论

暂无评论...
验证码 换一张
取 消