0
我有一個程序,偵聽多播,我希望它能夠與同一程序的其他實例共享一個端口,以便如果我有3個實例運行同一個主機,他們都可以共享同一個端口。組播偵聽同一個主機和端口C
是否有可能這樣做,它會涉及setsockopt和SO_REUSEADDR?
編輯:我打算爲我的代碼this site,我唯一改變的是在消息中發送的內容。
我有一個程序,偵聽多播,我希望它能夠與同一程序的其他實例共享一個端口,以便如果我有3個實例運行同一個主機,他們都可以共享同一個端口。組播偵聽同一個主機和端口C
是否有可能這樣做,它會涉及setsockopt和SO_REUSEADDR?
編輯:我打算爲我的代碼this site,我唯一改變的是在消息中發送的內容。
setsockopt的是我需要的東西,這裏是什麼,我做了一個例子:
在聲明:
int yes = 1;
調用bind()
我打電話,然後前setsockopt()
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));
這現在允許我在同一臺機器上運行程序的多個實例,監聽同一端口上的多播。
@RemyLebeau Mutlicasts與其他任何東西一樣發送到IP:端口。您將不會收到發送到其他端口的多播。 – EJP
聽起來類似於這個問題:http://stackoverflow.com/questions/1694144/can-two-applications-listen-to-the-same-port – Santa
@Santa這是比我希望更多的信息穀歌我自己,謝謝! – wolf