UDP使用SO_REUSEADDR绑定EADDRINUSE

时间:2017-05-16 14:09:12

标签: c++ sockets bind

我有一个多线程Linux服务器,它有许多同时连接(每个线程2个连接),在响应客户端时必须绑定到公共IP地址。有时,绑定UDP套接字时出现EADDRINUSE错误,即使我的日志指示套接字最后一次绑定到同一地址/端口并且名为shutdown()并且{{1套接字是在30分钟之前。

此外,我在这些UDP套接字上设置了close()SO_REUSEADDRSO_REUSEPORT(但不是那些自动绑定到本地地址/端口的套接字)。使用这些选项,即使有一些其他UDP套接字仍然绑定到本地地址上的同一端口,绑定也不会按IP_TRANSPARENT失败,但显然确实会发生。

我找不到这种行为的解释。

SO_REUSEADDR

0 个答案:

没有答案