메시지를 위해 멀티 캐스트 IP 230.10.10.10, 포트 11111을 수신하는 UDP 클라이언트를 실행 중입니다. UDP 브로드 캐스터와 동일한 서버에서 클라이언트 Java 코드를 실행하는 경우 UDP 메시지를받을 수 있습니다. 그러나 동일한 도메인의 다른 서버에서 실행하면 메시지가 표시되지 않습니다.자바 UDP 문제
Windows 서버 2008을 사용하고 있습니다. 디버깅 방법을 알려주십시오.
메시지를 위해 멀티 캐스트 IP 230.10.10.10, 포트 11111을 수신하는 UDP 클라이언트를 실행 중입니다. UDP 브로드 캐스터와 동일한 서버에서 클라이언트 Java 코드를 실행하는 경우 UDP 메시지를받을 수 있습니다. 그러나 동일한 도메인의 다른 서버에서 실행하면 메시지가 표시되지 않습니다.자바 UDP 문제
Windows 서버 2008을 사용하고 있습니다. 디버깅 방법을 알려주십시오.
도움 주셔서 감사합니다. 지금 해결했습니다. 상기 용액은 두 개의 IP 주소를 갖는 리스너
DatagramSocket datagramSocket = new MulticastSocket(multicastPort);
((MulticastSocket) datagramSocket).setInterface(inetNicAddress);
브로드 캐스터 멀티 홈에 setInterface의() 메소드를 호출이고 청취자는 단일 IP.So 있으며, I는 setInterface의 방법에서 IP 수신기를 설정할 때 괜찮 았어.
하지만 여전히 어떻게 작동하는지 잘 모르겠습니다. 왜냐하면 setInterface 메서드가 멀티 홈이고 괜찮아요. 방송사에서 호출되기 때문입니다. 그런데 왜 청취자에게 그것을 설정해야 하는가? . 조언이 도움이 될 것입니다.
첫째, UDP는 보장 된 배달 프로토콜이 아닙니다. 둘째, 네트워크에서 UDP 패킷을 방화벽으로 필터링하거나 필터링 할 수 있습니다.
클라이언트 컴퓨터에서 11111 포트의 서버 컴퓨터에 연결할 수 있습니까?
두 번째입니다. 라우터 중 하나가 UDP 패키지를 필터링합니다. "서버"의 로컬 방화벽 일 수도 있습니다. –
서버이기 때문에 방화벽을 비활성화 할 수 없습니다. 그러나 방화벽 설정에서 포트 11111에 대한 예외가 추가되었습니다. 내가 알고 싶은 것은 방화벽 문제인지 라우터 필터 문제인지 어떻게 확인할 수 있습니까? 이것을 디버깅 할 수있는 툴이나 헬퍼 클래스가 있습니까? – Dunxton
문제는 멀티 캐스트 패킷의 TTL 일 수도 있습니다. 0 인 경우 패키지는 로컬에서만 수신 할 수 있습니다. Wireshark 같은 도구를 사용하여 네트워크 트래픽을 검사하는 것이 좋습니다. 그게 문제라면 TTL 값을 32로 늘리십시오. -Djava.net.preferIPv4Stack=true
을 설정해야 할 수도 있습니다.
드디어 해결책을 얻었습니다. 나는 당신이 당신 자신의 대답 안에서이 질문 대신에 새로운 질문을 할 것을 제안한다. 그렇지 않으면 아무도 그것을 찾을 수 없습니다. – jeha