2010-08-06 5 views
3

그래서 소켓 서버에 연결해야하는 Android 애플리케이션이 있습니다. 소켓 서버가 개발 컴퓨터에서 실행되고 있다면 간단합니다. 그러나 소켓 서버는 내 컴퓨터가 아니라 다른 서브넷의 서버에서 실행됩니다. 내 에뮬레이터를 소켓 서버에 어떻게 연결합니까? 포트 포워딩이 로컬 시스템에 연결하는 방법을 이해하지만, 내 컴퓨터에서 서브넷을 통해 어떻게 리디렉션 할 수 있는지 혼란 스럽습니다.네트워크를 통한 Android 에뮬레이터 네트워킹

+0

저는 포트 포워딩에 익숙하지 않지만, protoole, ip 주소 및 포트와 함께 udp : 132.55.31.14 : 9102와 같은 것을 생각할 것입니다. (이들은 임의의 숫자입니다) – Sephy

답변

1

에뮬레이터의 호스트 컴퓨터에서 소켓 서버에 연결할 수 있습니까? 나는 당신에 대해 잘 모르지만, 안드로이드 에뮬레이터에서 네트워크 클라이언트 응용 프로그램을 테스트 해왔다. 그리고 내 개발 상자가 표준 자바 네트워킹 호출만으로 할 수있는 네트워크상의 어떤 것도 액세스 할 수있는 것처럼 보이고 특별한 것은 없다. 설정 에뮬레이터 측. 여기에는 더 넓은 인터넷이 포함됩니다.

그렇지 않으면 서버가 원격 시스템에 노출되도록 서버 측을 설정해야합니다. 이 서버가 안드로이드 에뮬레이터가 아니면 안드로이드 에뮬레이터 측면에서하는 일과 아무 상관이 없습니다. 물론 방화벽 규칙 및 표준 네트워크 라우팅과 관련이있을 수 있습니다.

+0

My dev machine은 소켓 서버에 아무런 문제없이 연결할 수 있습니다. 나는 계속 지껄이다. – Falmarri

+0

에뮬레이터 외부에서 네트워크는 어떻게 생겼을 까? 아마도 에뮬레이터의 주소 공간과 충돌이있을 수 있습니다. –

+1

또한, 문제 해결 수단으로,'ssh server -L1234 : localhost : serverport'를 사용하여 dev 시스템에 ssh 터널을 생성 한 다음, 일부 포트 1234에 대해 앱을 연결하여 '10.0.2.2 : 1234'에 연결할 수 있습니다. if 귀하의 인터넷 코드가 전혀 작동하지 않습니다. –