2011-08-15 5 views
0

현재 자바로 작성된 서버로 자바 PC/Android 애플리케이션을 개발 중입니다. PC 클라이언트를 개발할 때 localhost : 12345에서 서버를 시작했으며 클라이언트가 문제없이이 서버에 연결할 수있었습니다 (동일한 호스트 이름과 포트 사용). 어제 제가 안드로이드 장치를 사용하여 연결을 시도 할 때 시작되었습니다. 휴대 전화를 사용하여 응용 프로그램을 개발하고 호스트 주소로 라우터의 공용 IP 89.xx.xx.xxx 및 PC 클라이언트 (12345)와 동일한 포트를 입력합니다. 물론 라우터 (포트 12344에서 12346)에 포트 포워딩을 설정하고 포트 수비수에서 포트 12345의 모든 연결 유형에 대한 규칙을 만들었습니다. 그러나 여전히 성공하지 못했습니다. 이것은 다른 앱을 개발하기 전 약 8 개월 만에 모든 것이 작동하기 때문에 이상합니다. 이상한 점은 처음으로 서버와 PC 클라이언트를 시작할 때 창 프롬프트 창이 없었기 때문입니다 (내 수비수가 인터넷에 연결할 수있게 해주는 수비수 프롬프트에서이기십시오). 나는 라우터의 포워딩에 문제가 있다고 생각한다. (왜냐하면 로컬 호스트에서 제대로 작동하기 때문이다.) 그러나 내가 할 수있는 일이 무엇인지 모르겠다. 나는 전달 옆에 UPnP를 켰다. 내 라우터는 THOMSON TWG850-4U입니다. 몇 초 후에 내 안드로이드 애플 리케이션에서 시간 초과 예외가 발생했습니다포트 포워딩 문제

+0

안드로이드 기기가 연결하는 데 사용하는 모바일 네트워크와 관련이 없는지 확인하기 위해 안드로이드 앱이 아닌 일반 PC를 사용하여 외부에서 서버에 연결할 수 있는지 확인 했습니까? – wollud1969

답변

0

127.0.0.1 (로컬 호스트 연결 만 허용)이 아닌 서버가 0.0.0.0 (모든 인터페이스에서 수신 연결을 수락합니다) 바인딩되어 있습니까?

+0

localhost를 0.0.0.0으로 바꿨는데 서버 소켓 바인딩에서 여전히 연결될 수 없습니다. – Zani

0

이미 0.0.0.0에 바인딩하는 경우 PC의 IP 주소를 DMZ로 설정하고 연결이 허용되는지 확인하십시오.

+0

이전에 시도했지만 차이는 없었습니다. 나는 DMZ를 켜고 포트 포워딩을 떠났고 라우터를 사용했다. 공용 IP – Zani

+0

이 요청을 할 때 네트워크에 있다면 라우터 IP가 아닌 라우터 IP를 사용해야한다. –