Linux 套接字未关闭
我有一个问题。我在 Linux 中运行 TCP 服务器。我通过 close(socket) 调用关闭套接字。但是当我尝试再次重新绑定时,绑定调用失败,并显示 errno 98 =>端口已经绑定。我应该如何解除该套接字的绑定?
i have a problem. I run a TCP server in linux. I close the socket by close(socket) call. But when I try to rebind again, bind call fails with errno 98 => port is already binded. How should i unbind that socket?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须在套接字上设置 SO_REUSEADDR 选项,请参阅此处。
You have to set SO_REUSEADDR option on the socket, see here.
您可以尝试设置
SO_REUSEADDR
套接字选项,请参阅这个问题进行一些讨论。You can try setting the
SO_REUSEADDR
socket option, see this question for some discussion.