【发布时间】:2012-03-17 11:38:49
【问题描述】:
以下是我的环境:
- Linux、Ubuntu
- C++/gdb
- 日食
我正在实现一个 TCP 套接字服务器应用程序。
在开发/调试时,应用程序可能会在连接被接受后终止,并且在打开的套接字被正常关闭和关闭之前。
在这种情况下,应用程序的下一次执行将无法绑定到监听端口,只有等待一分钟左右才能再次绑定成功。
我的假设是 Linux 内核有一些清理机制来~收集~所有未正常关闭的套接字,这解释了为什么我必须等待大约 1 分钟才能再次绑定端口。
话虽如此,有没有办法避免这 1 分钟的等待?有没有办法强制操作系统收集所有未正常关闭的套接字?
任何帮助将不胜感激。
索芬的纳达夫
【问题讨论】:
-
指定等待的不是 Linux,而是 TCP RFC(查找“2*MSL”)。
标签: c++ linux sockets linux-kernel