Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言中同一主机和端口上的多播监听_C_Sockets_Port_Multicast - Fatal编程技术网

C语言中同一主机和端口上的多播监听

C语言中同一主机和端口上的多播监听,c,sockets,port,multicast,C,Sockets,Port,Multicast,我有一个监听多播的程序,我希望它能够与同一程序的其他实例共享一个端口,这样,如果我有3个实例在同一台主机上运行,它们都可以共享同一个端口 是否有可能做到这一点,是否会涉及setsockopt和SO_REUSEADDR 编辑:对于我的代码,我要做的只是更改消息中发送的内容。setsockopt是我所需要的,下面是我所做的示例: 在声明中: int yes = 1; 然后在调用bind()之前,我调用了setsockopt() 现在,我可以在同一台机器上运行该程序的多个实例,在同一个端口上侦听多播

我有一个监听多播的程序,我希望它能够与同一程序的其他实例共享一个端口,这样,如果我有3个实例在同一台主机上运行,它们都可以共享同一个端口

是否有可能做到这一点,是否会涉及setsockopt和SO_REUSEADDR


编辑:对于我的代码,我要做的只是更改消息中发送的内容。

setsockopt是我所需要的,下面是我所做的示例:

在声明中:

int yes = 1;
然后在调用
bind()
之前,我调用了
setsockopt()


现在,我可以在同一台机器上运行该程序的多个实例,在同一个端口上侦听多播。

听起来类似于这个问题:@Santa这比我自己搜索更多信息,谢谢@RemyLebeau Mutlicast和其他任何东西一样被发送到IP:端口。您将不会收到发送到其他端口的多播。
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));