【问题标题】:SO_REUSEADDR with UDP sockets on Linux. Is it necessary?在 Linux 上带有 UDP 套接字的 SO_REUSEADDR。有必要吗?
【发布时间】:2012-09-14 11:04:58
【问题描述】:

我的 UDP 套接字是 bind()ing 到端口 53 (DNS)。 UDP 是否具有 TIME_WAIT 状态或在 UDP 套接字上使用 SO_REUSEADDR 毫无意义?

【问题讨论】:

  • 为什么要绑定 UDP 套接字?如果需要,可能需要使用 TCP
  • @Adrian Cornish 你怎么告诉操作系统你的UDP服务器正在监听哪个端口?
  • 您似乎在谈论客户端,这是关于服务器的。例如,NTP 服务器必须绑定到端口 123。
  • 这里是用例的解释:stackoverflow.com/questions/775638/…

标签: linux udp time-wait setsockopt


【解决方案1】:

UDP 没有连接,所以没有什么类似于 TIME_WAIT。你不需要使用 SO_REUSEADDR。

如果您正在侦听广播或多播地址,您可能需要使用 SO_REUSEPORT,这样如果同一台机器上有多个侦听器,它们就不会发生冲突。但是,据我所知,这在 Linux 上不存在。

【讨论】:

    猜你喜欢
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 2017-10-03
    • 2012-07-05
    相关资源
    最近更新 更多