我有一个侦听端口的小型TCP服务器。在调试时,我经常使用CTRL-C组合键来终止服务器进程。
在Windows上,我能够快速重启服务,并且可以重新绑定套接字。在Linux上,我必须等待几分钟才能成功返回bind()
当绑定()失败时,它返回errno=98,地址在使用中。
我想更好地理解实现中的差异。Windows当然对开发人员更友好,但我怀疑Linux做的是“错误的事情”。
我最好的猜测是,Linux正在等待,直到所有可能的客户端都检测到旧套接字已损坏,然后才允许创建新套接字。它能做到这一点的唯一方法是等待它们超时
在Linux开发期间,有没有办法改变这种行为?我希望能复制Windows的做法
https://stackoverflow.com/questions/4979425
复制相似问题