2013-03-01 3 views
2

MulticastSocket.receive()에 대한 호출이있는 Windows 7 시스템에서이 문제가 발생합니다. Java에서 비 192.168.XX 네트워크에 연결된 서버에서 수신 대기하려고하면 무기한으로 대기합니다 (패킷을 수신하지 않음). 서버가 192.168.X.X 네트워크에 연결되어 있으면 MulticastSocket.receive()가 중단되지 않습니다. Windows XP 및 Ubuntu 10.04를 실행하는 내 작업 환경의 다른 개발 시스템에서 작동하므로이 컴퓨터가 Windows 7 컴퓨터의 구성 문제라고 확신합니다.192.168.XX가 아닌 IP를 사용하는 네트워크상의 서버에서 패킷을 수신하려고 시도하면 MulticastSocket.receive()가 중단됩니다.

도움을 주시면 감사하겠습니다.

업데이트 : MulticastSocket.receive() 무기한 매달려 이유를 내가 알아 낸

. Windows 방화벽이 내 서버에 해당하는 네트워크에서 들어오는 패킷을 차단하고있었습니다. 이 문제의 신속한 수정은 해당 네트워크에서 Windows 방화벽을 비활성화하는 것이 었습니다. 필자의 공용 네트워크에서 Windows 방화벽을 비활성화했습니다. 그 후, MulticastSocket.receive()는 들어오는 패킷을 가져올 수있었습니다.

답변

2

"non-192.168.X.X network"은 192.168.X.X 네트워크상의 수신자 기계 임을 의미합니다. 그렇다면 아마도 멀티 캐스트 트래픽이 네트워크간에 라우팅되지 않는 상황 일 것입니다 (보통 그렇지 않습니다). Windows 7 컴퓨터와 동일한 네트워크에서 언급 한 다른 개발 컴퓨터는 있습니까? 아니면 듀얼 홈 (2 개의 네트워크 세그먼트에 연결)입니까?

네트워크 관리자가이 트래픽을 통과하도록 라우터를 구성 할 수 있는지 확인할 수 있습니다.

+0

네, 맞습니다. 내 청취 기는 192.168.X.X 네트워크에 있습니다. 연결하려는 네트워크의 관리자는 개발 목적으로 나 자신과 동료가 공유하는 개인 네트워크이므로 관리자입니다. 트래픽을 내 컴퓨터로 라우팅하는 방법을 모르겠습니다. 위에서 언급 한 공동 작업자 개발 시스템에서 작동하는 것 같습니다. – Justin

+0

그 결과,이 문제는 네트워크 자체가 아니라 내 PC의 구성과 관련이 있다고 생각합니다. – Justin

+0

동료의 컴퓨터가 192.168.x.x가 아닌 경우 브로드 캐스트 메시지를받을 수 있다고 말하고 있습니까? 회로망? –