linux – 在C中关闭侦听TCP套接字

linux – 在C中关闭侦听TCP套接字,第1张

概述假设您有一个侦听TCP端口的套接字,并且某些客户端已连接.当在C中发出sock_close(fd)并尝试在同一端口再次绑定时,绑定失败.在“netstat -plutnoa”上可以看到一些TIME_WAIT状态,例如: tcp 0 0 127.0.0.1:4567 127.0.0.1:32977 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解释了会发生什么. 总结

以上是内存溢出为你收集整理的linux – 在C中关闭侦听TCP套接字全部内容,希望文章能够帮你解决linux – 在C中关闭侦听TCP套接字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1026709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存