다음 코드는 나에게 로컬로만 작동합니다. 나는 다른 프로그램에서 같은 기계로 그것을받을 수있다. wireshark에서 트래픽이 보이지 않습니다 (Windows). 멀티 캐스트 주소를 10.10.10.10과 같은 기존 주소로 변경하면 wireshark에 UDP 패킷이 표시됩니다.DatagramSocket가 멀티 캐스트 주소로 네트워크를 통해 전송하지 않는 이유는 무엇입니까?
wireshark에서는 필터 udp.port == 5353을 사용합니다. wireshark 설정이 올바른 멀티 캐스트 주소로 다른 패킷을 볼 수 있습니다.
방화벽이 비활성화되었습니다.
public static void main(String[] args) throws Exception {
byte[] buf = "some data".getBytes();
DatagramSocket socket = new DatagramSocket();
InetAddress address = InetAddress.getByName("224.0.0.251");
socket.send(new DatagramPacket(buf, buf.length, address, 5353));
}
편집 : 원인은 루프백 어댑터 (Microsoft Loopbackadapter für KM-TEST) 인 것 같습니다. 루프백 어댑터를 제거하면 작동합니다. 다른 시스템에는 동등한 문제를 일으킬 수있는 VMware 어댑터가 있습니다.
패킷이 모든 네트워크 어댑터로 전송되지 않는 이유는 무엇입니까? 올바른 어댑터로 보내려면 어떻게해야합니까?
당신의 네트워크 설정은? 넷 마스크 란 무엇입니까? –
@BoristheSpider 제 편집을보세요. – Horcrux7