对于不同的操作系统,套接字选项SO_REUSEADDR和SO_REUSEPORT的man pages和程序员文档是不同的,通常非常令人困惑。有些操作系统甚至没有SO_REUSEPORT选项。WEB上充满了关于这个主题的相互矛盾的信息,通常您可以找到只对特定操作系统的一个套接字实现正确的信息,甚至可能在正文中没有明确提到。
那么SO_REUSEADDR和SO_REUSEPORT到底有什么不同呢?
不使用SO_REUSEPORT的系统是否更受限制?
如果我在不同的操作系统上使用其中的任何一个,那么预期的行为到底是什么?
发布于 2020-06-11 06:34:06
Mecki的回答绝对完美,但值得补充的是,FreeBSD还支持SO_REUSEPORT_LB,它模仿了Linux的SO_REUSEPORT行为--它平衡了负载;请参阅setsockopt(2)
https://stackoverflow.com/questions/14388706
复制相似问题