요즘에는 멀티 캐스트를 즐기고 있습니다. 이해가 안가는 이상한 일들이 생깁니다.ping에 응답이 없습니다. 224.0.0.1
채팅 멀티 캐스트 클라이언트를 만들고 모든 것이 정상적으로 작동하는 것처럼 보입니다. 그 후 나는 리눅스 문서를 읽고 224.0.0.1에 ping을하면 일부 멀티 캐스트 그룹에 가입 한 모든 노드로부터 응답을 리턴해야한다는 것을 알아 냈다. 나는 XP와 win7 머신에서 그걸 시도했다. 행동은 둘 다 동일합니다. 내 의뢰인이 내가 정의한 그룹에 합류 한 것 같습니다 (224.0.19.1). 224.0.0.1 그룹에 가입하지 않습니다. 와이어 샤크에서
: 어떤 소스 여기
그리고 대한 [소스 IP] 224.0.0.22 된 IGMPv3 54 회원 보고서/가입 그룹 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 주소에 대한 참조가 없음을 알 수 있습니다. 물론 두 컴퓨터 모두에서 방화벽을 해제했습니다.
이제 질문입니다.이 기능은 Windows에서 지원하지 않습니까? .NET에서 지원되지 않습니까? 뭔가를 구현하는 것을 잊었습니까? 나는 어떤 도움을 주셔서 감사합니다. 고맙습니다.
사실입니다. 하지만 224.0.0.1은 특별한 유형의 그룹입니다 : "224.0.0.1은 all-hosts 그룹입니다.이 그룹에 ping을 실행하면 모든 멀티 캐스트 가능 호스트가 시작시 해당 그룹에 가입해야하므로 네트워크의 모든 멀티 캐스트 가능 호스트가 응답해야합니다 멀티 캐스트가 가능한 인터페이스 다. " http://www.tldp.org/HOWTO/Multicast-HOWTO-2.html – Gico