我有一个侦听端口的小型TCP服务器。在调试时,我通常会按CTRL-C服务器来终止进程。“使用中的地址”与Windows和Linux上的bind()之间的区别 - errno = 98
在Windows上,我可以快速重启服务,套接字可以被反弹。在Linux上我有绑定之前等待几分钟()成功
返回当bind()的失败则返回错误号= 98,地址在使用中。
我想更好地理解实现中的差异。 Windows确实对开发人员更友好,但我怀疑Linux是在做'错误的事情'。
我最好的猜测是Linux的等待,直到所有可能的客户已经检测到旧插座允许创建新的套接字之前打破。它可以做到这一点的唯一方法就是等待他们超时
有没有办法在Linux开发过程中改变这种行为?我希望能复制的Windows做到这一点
嘿感谢一堆,不知道寻找SO_REUSEADDR。现在我的信息很丰富。谢谢! – stuck 2011-02-12 18:08:26