C语言中同一主机和端口上的多播监听
我有一个监听多播的程序,我希望它能够与同一程序的其他实例共享一个端口,这样,如果我有3个实例在同一台主机上运行,它们都可以共享同一个端口 是否有可能做到这一点,是否会涉及setsockopt和SO_REUSEADDRC语言中同一主机和端口上的多播监听,c,sockets,port,multicast,C,Sockets,Port,Multicast,我有一个监听多播的程序,我希望它能够与同一程序的其他实例共享一个端口,这样,如果我有3个实例在同一台主机上运行,它们都可以共享同一个端口 是否有可能做到这一点,是否会涉及setsockopt和SO_REUSEADDR 编辑:对于我的代码,我要做的只是更改消息中发送的内容。setsockopt是我所需要的,下面是我所做的示例: 在声明中: int yes = 1; 然后在调用bind()之前,我调用了setsockopt() 现在,我可以在同一台机器上运行该程序的多个实例,在同一个端口上侦听多播
编辑:对于我的代码,我要做的只是更改消息中发送的内容。setsockopt是我所需要的,下面是我所做的示例: 在声明中:
int yes = 1;
然后在调用bind()
之前,我调用了setsockopt()
现在,我可以在同一台机器上运行该程序的多个实例,在同一个端口上侦听多播。听起来类似于这个问题:@Santa这比我自己搜索更多信息,谢谢@RemyLebeau Mutlicast和其他任何东西一样被发送到IP:端口。您将不会收到发送到其他端口的多播。
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));