2011-11-23 52 views
0

基本上我有一個應用程序在相同的接口上創建了5個多播套接字,並且在同一個應用程序中,每個套接字綁定到不同的多播IP地址/端口。當這些套接字中的任何一個發送消息時,應用程序中的其他4個套接字最終將讀取該消息。這是正常的行爲嗎?接收來自不同端口的組播

這在使用boost.asio和gcc 4.6的Ubuntu 11.10中發生。

回答

2

在某些操作系統中這很正常;-)您可以使用setsockopt()和IP_MULTICAST_LOOP選項將其關閉。

0

聽起來很奇怪。如果您使用的是UDP,那麼您只應接收與UDP套接字端口號關聯的消息。當然,如果你在IP層使用多播,那麼端口號就不重要了。

這是非常正確的(根據EJP),如果未禁用環回,則回送將導致程序接收其自己的消息。但是,UDP端口號仍然適用。發送到端口x的多播UDP消息不應被偵聽端口y的套接字接收。

相關問題