2013-11-14 95 views
0

我有一个程序,侦听多播,我希望它能够与同一程序的其他实例共享一个端口,以便如果我有3个实例运行同一个主机,他们都可以共享同一个端口。组播侦听同一个主机和端口C

是否有可能这样做,它会涉及setsockopt和SO_REUSEADDR?

编辑:我打算为我的代码this site,我唯一改变的是在消息中发送的内容。

+1

听起来类似于这个问题:http://stackoverflow.com/questions/1694144/can-two-applications-listen-to-the-same-port – Santa

+0

@Santa这是比我希望更多的信息谷歌我自己,谢谢! – wolf

回答

1

setsockopt的是我需要的东西,这里是什么,我做了一个例子:

在声明

int yes = 1; 

调用bind()我打电话,然后前setsockopt()

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

这现在允许我在同一台机器上运行程序的多个实例,监听同一端口上的多播。

+0

@RemyLebeau Mutlicasts与其他任何东西一样发送到IP:端口。您将不会收到发送到其他端口的多播。 – EJP