【问题标题】:What is the purpose of SO_REUSEADDR? [duplicate]SO_REUSEADDR 的目的是什么? [复制]
【发布时间】:2023-03-30 21:32:02
【问题描述】:

我正在尝试理解一个多播代码,但我不理解一小部分的实用程序:

int fd_socket = socket(AF_INET, SOCK_DGRAM, 0);
u_int yes = 1;

setsockopt(fd_socket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));

我不了解setsockopt 函数的实用程序。我知道这个函数允许修改内核中的套接字,SOL_SOCKET是因为我的修改是关于套接字的级别而不是协议的级别。我不明白SO_REUSEADDR

【问题讨论】:

    标签: c sockets multicast setsockopt


    【解决方案1】:

    对于 UDP 套接字,设置 SO_REUSEADDR 选项允许在同一个端口上打开多个套接字。

    如果这些套接字也加入了多播组,则任何进入该组和端口的多播数据包都将被传递到该端口上打开的所有套接字。

    【讨论】:

      猜你喜欢
      • 2011-03-14
      • 2010-10-09
      • 1970-01-01
      • 2011-09-13
      • 2011-06-28
      • 2020-05-25
      • 2013-01-19
      • 2020-02-27
      • 1970-01-01
      相关资源
      最近更新 更多