2012-12-19 3 views
4

내 노트북과 Android 사이에 소켓 연결을 시도하고 있습니다.소켓 연결 요청이 거부되었습니다.

저는 노트북을 서버로 만들고 있습니다. 연결을 설정하려면 ipconfig (Windows 7 실행) (이 주소는 'whatismyip'과 같은 웹 사이트에 표시된 것과 같지 않음)과 같이 노트북의 IP를 사용하고 있습니다.

노트북과 Android를 동일한 무선 라우터에 연결하면 ipconfig에서 지정한 주소를 사용하면 문제가 없습니다.

그러나 Android의 EDGE 연결을 사용하고 동일한 IP 주소에 액세스하면 소켓 연결 요청이 거부됩니다. 또한, whatismyip에 의해 주어진 IP는 WLAN이나 EDGE에서 작동하지 않습니다.

내부 및 외부의 두 가지 IP 주소가 있다고 들었습니다. ipconfig에 의해 주어진 주소가 내부 주소라고 가정합니다. 또한 포트 포워딩이라고하는 절차가 있습니다.

누군가가 나를 EDGE 연결을 통해 ServerSocket에 액세스하는 데 도움을 줄 수 있습니까? 어떤 IP를 사용해야합니까? 포트 포워딩이 필요한 경우 어떻게해야합니까? 감사합니다. .

+1

이것은 http://superuser.com 또는 Android 관련 사용자 Q & A 사이트 (http://android.stackexchange.com/)에 있습니다. * 프로그래밍 * 문제가 아닙니다. –

+0

하지만 안드로이드 연결 부분은 문제가 아니며 적절한 IP 주소 나 포트 전달과 같은 것에 연결하려고하면 잘 동작 할 것입니다. :) –

+0

올바른 IP 주소를 선택하는 것은 대부분 알면 알 수 있습니다 앱의 config 파일 (또는 무엇이든)에 넣을 수있는 올바른 파일입니다. 포트 포워딩은 안드로이드 시스템의 iptables에서 구현됩니다. 이들 중 어느 것도 프로그래밍과 관련이 없습니다. 따라서이 질문은 주제와 다릅니다. –

답변

2

랩톱 컴퓨터에서 ipconfig 명령을 실행하면 라우터에 연결하는 인터페이스에 표시되는 IP 주소가 개인 주소 (라우팅 가능한 주소가 아님)입니다. Whatismyip에 표시된 IP 주소는 모뎀에 할당 된 IP 주소입니다. 휴대 전화가 Wi-Fi를 통해 라우터에 연결되면 랩톱과 동일한 서브넷에 있으며 연결을 만들 수 있습니다. EDGE 네트워크에 있으면 다른 서브넷에 있고 랩톱의 IP는 라우팅 할 수 없으므로 연결할 수 없습니다. 대부분의 라우터에서 대상 포트가 랩톱으로 전송되도록 모든 입구 트래픽을 구성 할 수 있습니다. 이 구성은 각 라우터마다 다르지만 같은 생각입니다. 이 트래픽을 전달할 IP 주소는 랩톱의 개인 IP 주소 (ipconfig에 표시된 IP 주소)이며, 포트는 보내는 트래픽이 대상이되는 포트입니다.

+0

+1 포트 포워딩이라고합니다. –