2011-07-29 6 views
0

LAN에서 실행되는 서버와 통신하기 위해 Android 임상가를 개발하려고합니다. 클라이언트가 에뮬레이터에서 실행 중입니다. 그러나 안드로이드 클라이언트를 실행하는 동안 나는 예외 연결이 거부되고있다. 호스트 시스템 (에뮬레이터가있는 서버)에서 서버를 실행하여 연결을 설정하려고했습니다. 이것도 실패했습니다.소켓을 기반으로 안드로이드 클라이언트 서버 앱을 개발할 때 도움이 필요합니다.

서버 : 나는 TCP를 추가 REDIR 추가 1235

약간의 연구 후 : 1234 : 1234 대신 서버의 실제 IP를 제공, 나는 10.0.2.2했다. 그것은 효과가 있었다. 하지만 acutal ip로 바꾸면 작동이 멈췄습니다. 내가 잃어버린 anythign 거기에있다 ??

+0

다음 정보가 도움이 될 수 있습니다. http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking –

답변

0

tcp 리디렉션은 장치 외부에서 시작된 연결에 대해서만 작동합니다. 장치가 외부 장치에 연결될 수 없습니다.

10.0.2.2를 사용하는 것은 호스트 자체에서 수행되는 것처럼 호스트에서 실행되는 것과 대화합니다. 즉, 호스트에서 무언가에 127.0.0.1을 사용하는 것과 같습니다. 그것이 작동하고 있고 호스트의 IP 주소를 사용하는 것이 아니라면, 방화벽이나 호스트의 서버 설정에서 들어오는 연결을 허용하지 않는 것이 문제 일 수 있습니다. LAN상의 다른 컴퓨터에서 서버에 연결할 수 있습니까?

즉각적인 문제는 아니지만 10.0.2.2는 에뮬레이터에서만 작동하며 하드웨어 및 Android 장치에서는 작동하지 않습니다.

관련 문제