套接字选项man pages
和SO_REUSEADDR
的{{1}}和程序员文档对于不同的操作系统是不同的,并且通常非常混乱。某些操作系统甚至没有选项SO_REUSEPORT
。 WEB中充满了关于此主题的矛盾信息,通常您可以找到仅适用于特定操作系统的一个套接字实现的信息,这些信息甚至可能未在文中明确提及。
那么SO_REUSEPORT
与SO_REUSEADDR
有何不同?
没有SO_REUSEPORT
的系统是否更受限制?
如果我在不同的操作系统上使用其中任何一个,那么预期的行为究竟是什么?
答案 0 :(得分:3)
Mecki的答案是绝对完美的,但是值得一提的是FreeBSD还支持SO_REUSEPORT_LB
,它模仿Linux的SO_REUSEPORT
行为-它平衡了负载;参见setsockopt(2)