В данный момент я играю в многоадресной рассылке, и я сталкиваюсь с некоторыми странными вещами, которые я не понимаю.Нет ответа на ping 224.0.0.1
Я создаю чат многоадресных клиентов, и все, кажется, работает нормально. После этого я прочитал некоторую документацию по Linux и выяснил, что, отправив сообщение 224.0.0.1, я должен вернуть мне ответ со всех узлов, которые присоединились к некоторой группе многоадресной рассылки. Я пробовал это на xp и на win7 машине. Поведение одинаково для обоих из них. Кажется, что мой клиент присоединился только к группе, которую я определил (224.0.19.1). Он не входит в группу 224.0.0.1.
С Wireshark: [IP-адрес источника] 224.0.0.22 IGMPv3 54 Membership Report/Join группа 224.0.19.1 для любых источников
А вот как я установил мой сокет:
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, int.Parse(port));
m_socket.Bind(ipep);
IPAddress ip = IPAddress.Parse(mcastGroup);
m_socket.SetSocketOption(
SocketOptionLevel.IP, SocketOptionName.AddMembership,
new MulticastOption(ip, IPAddress.Any));
Тогда я проверено в Netsh:
C:\Users\user1>netsh interface ip show joins
Interface 1: Loopback Pseudo-Interface 1
Scope References Last Address
---------- ---------- ---- ---------------------------------
0 2 Yes 239.255.255.250
Interface 11: LAN
Scope References Last Address
---------- ---------- ---- ---------------------------------
0 0 Yes 224.0.0.1
0 1 Yes 224.0.0.252
0 1 Yes 224.0.19.1
0 1 Yes 230.230.230.230
0 2 Yes 239.255.255.250
Interface 15: Local Area Connection* 9
Scope References Last Address
---------- ---------- ---- ---------------------------------
0 0 Yes 224.0.0.1
И как вы можете заметить, что нет ссылки на адрес 224.0.0.1. Конечно, я отключил брандмауэр на обеих машинах.
Вопрос теперь: Это что-то не поддерживается окнами? Не поддерживается .NET? Я забыл что-то реализовать? Буду признателен за любую помощь. Thanx.
Это правда. Но 224.0.0.1 - это особый тип группы: «224.0.0.1 - это группа всех хостов. Если вы выполните ping из этой группы, все хосты, поддерживающие многоадресную рассылку в сети, должны ответить, так как каждый хост, поддерживающий многоадресную рассылку, должен присоединиться к этой группе при запуске на всех его интерфейсах с поддержкой многоадресной передачи ». http://www.tldp.org/HOWTO/Multicast-HOWTO-2.html – Gico