【发布时间】:2019-12-19 09:32:12
【问题描述】:
所以我正在做一个基本的客户端/服务器学校项目。服务器在端口 10'000 上运行。问题是每当我手动关闭服务器 (CTRL+C) 时,端口 10'000 上的本地 TCP 连接都会保持活动状态一分钟左右。它进入“TIME_WAIT”状态。有什么方法可以立即终止连接并直接开始使用它? Linux 顺便说一句。
谢谢!
【问题讨论】:
所以我正在做一个基本的客户端/服务器学校项目。服务器在端口 10'000 上运行。问题是每当我手动关闭服务器 (CTRL+C) 时,端口 10'000 上的本地 TCP 连接都会保持活动状态一分钟左右。它进入“TIME_WAIT”状态。有什么方法可以立即终止连接并直接开始使用它? Linux 顺便说一句。
谢谢!
【问题讨论】:
我希望你理解正确。试试fuser -k 10000/tcp 应该会有帮助
【讨论】:
我认为您可以使用带有 SO_REUSEADDR 选项的 setsockopt() 函数。它应该允许您绑定到您刚刚终止的应用程序的相同地址和端口。
以下是使用 SO_REUSEADDR 的示例: How do I use setsockopt(SO_REUSEADDR)?
【讨论】: