1

我知道关于 SO_REUSEADDR 已经有很多问题了。我仍然无法得到它的缺点并且几乎没有问题。

1]当我们不使用任何延迟选项时,与 SO_REUSEADDR 相关的危险是什么。

2]会不会有丢包的情况?

3]如果我在端口上得到及时等待状态的东西会怎样?

4]在TIME_WAIT收到的数据包会发生什么?

最后但非常重要

5]在任何时间点有很多端口处于 TIME_WAIT 状态是否会对性能产生影响?

4

1 回答 1

0

缺点是您可能会收到用于较早连接但与新连接无关的数据,从而破坏该通信会话。的重点TIME_WAIT是允许操作系统清除挥之不去的数据。如果接收到TIME_WAIT状态为 IP/Port 的数据包,则丢弃该数据包。通过使用SO_REUSEADDR,您可以绕过该安全锁。

如果您有很多处于TIME_WAIT状态的端口,则可能会导致端口耗尽,这会阻止建立新连接,直到端口TIME_WAIT清除为止。

于 2014-11-06T06:51:26.807 回答