2015-01-02 4 views
0
내가 로컬로 내 모바일 UDP 수신기/발신자를 다운로드 Receives the packet

문제는 프로그램

"패킷 테스터 '라는 프로그램을 사용하여 프로그램을 테스트 한

를 피어 투 피어. 내 컴퓨터에서 자바 프로그램을 사용하여 모바일 서버에 패킷을 보낼 수 있었고 훌륭하게 작동했습니다. 방금 모빌 IP 주소와 포트 번호를 입력했습니다.

내 랩톱 컴퓨터와 컴퓨터에서 피어 투 피어 피어를 실행하면 전혀 채팅 할 수 없었습니다.

동일한 라우터가 사용되고 있는지 또는 그렇지 않은지와 관련이 있는지 알 수 있습니까? 내 모바일이 랩톱과 컴퓨터에서 메시지를 받고 있기 때문에 그렇게해서는 안됩니다. ]

Java 앱은 UDP 패킷을 로컬에서 검색 할 수 있지만 랩톱이나 모바일에서는 검색 할 수 없습니다. 모바일은 노트북과 모바일에서 udp 패킷을 검색 할 수 있습니다. 시험 결과는 혼란스러워서 나를 벽으로 이끌었습니다.

귀하의 의견에 감사드립니다.

감사합니다.

+0

당신의 문제. –

+0

@MichaelGoldstein 각 장치는 자체 IP를 가지고 있습니다 ***. *. *. 4 PC ***. *. * .2 모바일 ***. *. *. 5 노트북 – Moynul

+0

방화벽 문제가 있습니다. – chrylis

답변

1

라우터가 네트워크 주소 변환을 수행했기 때문에 문제 일 수 있습니다.

올바른 IP 주소로 패킷을 보내고 있지만 포트가 올바르지 않다고 생각합니다. 패킷을 전송할 포트는 시스템에 대한 로컬 포트입니다. 라우터에서 할당 한 포트로 패킷을 보내야합니다.

패킷이 라우터를 통해 컴퓨터 A에서 컴퓨터 B로 이동하면 라우터는 컴퓨터의 로컬 포트를 임의의 포트로 매핑합니다.

따라서 컴퓨터 B가 컴퓨터 A로 패킷을 보내야하는 경우 컴퓨터 B는 라우터에서 할당 한 IP : 포트로 컴퓨터 B를 보내야합니다. 그러면 라우터는이를 컴퓨터 A의 로컬 IP : 포트로 전달합니다.

UDP 패킷이 네트워크 내부 또는 외부의 라우터를 통과 할 때이 매핑이 어떻게 생성되는지 먼저 이해할 것을 제안합니다. 네트워크 주소 변환, UDP 홀 펀칭에 대해 읽어보십시오.

이 소스는 데 도움이 될 수 있도록 참으로 그 수도 같은 라우터 장치에 동일한 WAN IP 주소를 줄 것이다

Network Address Translation

UDP Hole Punching

RFC 4787 NAT Behavioral Requirements UDP

RFC 5128 P2P across NAT