2012-11-28 2 views
1

에뮬레이터에서 공개적으로 액세스 할 수있는 포트로 안드로이드 에뮬레이터 포트를 전달하는 방법을 알고 싶습니다. 호스트 컴퓨터의 로컬 루프백 인터페이스에서 포트로 포트 포워딩을 수행했지만 네트워크를 통해 포트에 액세스 할 수 있어야합니다. 이것은 원격 빌드 서버에서 에뮬레이터의 자동화 된 테스트를 실행하는 과정의 일부입니다. 현재 다른 컴퓨터에서 포트에 액세스 할 수 없으며 localhost 인터페이스에서만 연결할 수 있습니다. 기계의 공용 이름을 사용하면 기계 자체에 연결하려고해도 포트에 액세스 할 수 없습니다.Android 에뮬레이터, 로컬 포트가 아닌 공용 인터페이스로의 전진 포트

에뮬레이터는 공용 인터페이스에서 포트를 표시하도록 설계되지 않았을 수 있습니다. 이 경우에는 공용 인터페이스에서 루프백 인터페이스로 O/S 레벨 포트 포워딩을 사용하여 문제를 해결할 수 있는지 알아볼 수 있습니다.

+0

나는 socat을 사용하여 빠르고 간단하게 포트 포워딩을 시도했다. 이것은 한 지점으로 작용했습니다. Android Selenium WebDriver 앱에 연결하려고합니다. 브라우저에서 상태 페이지를 성공적으로 볼 수 있지만 Selenium 테스트를 실제로 실행하려고하면 연결이 끊어집니다. Selenium WebDriver의 허브 (예 :/wd/hub)에 오류가 있음을 가리킬 때 비슷한 오류가 발생합니다. 아마도 웹 드라이브는 Socat을 지원하기가 더 복잡한 TCP/IP 상호 작용을 사용합니다. –

답변

0

stcppipe을 성공적으로 사용했습니다. 그것은 단지 로컬 컴퓨터 인터페이스에 대한 TCP 연결을 특정 IP 주소로 전달합니다 (귀하의 경우에는 localhost).

stcppipe.exe localhost port port 

감사합니다 :

이 함께 Luigi Auriemma

실행 그것에서 다운로드 할 수 있습니다.