Multicast
主機加入組播組時,是否需要將自己的ip地址改為組播組的ip地址?
我說的是IPv4。如果不是,主機是否使用 2 個 IP 地址,一個用於多播通信,一個用於“正常”通信?
不可以。而且,IP 多播地址有一個特殊的範圍(例如 239.xxx),作為主機地址是非法的。你只是做的
setsockopt
,IP_ADD_MEMBERSHIP
你就完成了。而且,如果您真的考慮一下,更改 IP 將意味著所有正常流量都會停止。你在做什麼是說你想要這個界面
$$ via the socket $$除了其正常介面地址外,還偵聽和處理給定多播地址的數據包。它比這稍微複雜一些,但足夠接近。 IIRC,如果一個系統
$$ host0 $$有兩個介面(例如 NIC 卡),比如 eth0 和 eth1,而 eth0 與給定的組播具有半直接連接,並且有一個 host1 通過 eth1 連接到 host0,並且 host1只能通過 host0、host0 訪問組播將不得不訂閱多播,不是為自己,而是代表 host1,並在 eth1 上轉發數據包。