2010-12-04 3 views
0

소켓을 사용하여 기본 java http 서버를 작성했습니다. 그것은 간단한 REST 인터페이스를 가지며 GET/POST 요청에 응답합니다. 나는이 인터페이스에 연결되는 작은 안드로이드 앱을 만들기 시작했다. 내 PC에서 브라우저를 사용하여 내 서버에 연결할 수 있으며 vmware 플레이어 가상 시스템 우분투 및 XP에서 사용해 보았습니다. 모두 잘 작동합니다. 에뮬레이터 테스트를 두려워서 안드로이드 폰에 앱을 배포했습니다. Java 서버에 연결할 수 없습니다. 장치와 PC 모두 동일한 네트워크에 연결됩니다. 포트 포워딩 등 여기에 뭔가 빠졌습니까? 문제가 발생하면 가상 컴퓨터에서 어떻게 연결할 수 있었습니까?Android가 로컬 java ServerSocket에 연결하고 있습니까?

도움/의견을 보내 주시면 감사하겠습니다.

안부, Lalith

답변

1

당신은 아마도 인터넷의 권한을 설정하기 잊어 버린 수 있습니까? Android 매니페스트에서이 항목이 필요합니다.

<uses-permission android:name="android.permission.INTERNET" /> 

/스테판

+0

아니요. :) 지금까지 이러한 문제가 과거입니다. – Lalith

1

당신은 동일한 네트워크에서 실행되는 다른 PC에서이 서버에 연결할 수 있습니까? (서버와 동일한 상자에서 실행중인 가상 시스템에서 연결하는 것과 같지 않습니다.)

그렇지 않으면 PC에 방화벽 문제가있을 수 있습니다.

에뮬레이터 문서에서 찾을 수있는 호스트 루프백 인터페이스 주소에 대한 별칭을 사용하여 android 에뮬레이터도 테스트해야합니다.

+0

이 문제를 올바르게 해결해야합니다. 에뮬레이터 항목을 체크 아웃 할 것입니다. 감사. – Lalith

+0

아, 방금 실험실에 와서 시험해 보았습니다. 나는 랩톱이 실험실 무선 랜에 연결되어있을 때 네트워크에있는 다른 PC처럼 동작 할 것이라고 생각했습니다. 랩톱 컴퓨터에서 서버로 GET 요청을 실행하면 작동합니다 .. 심지어 안드로이드는 소켓 프로그래밍을 통해 GET 요청을 보낼 수 있습니다. 아파치 HTTPClient를 사용하려고 시도하지만 이상한 IPaddresses를 허용하지 않습니다. 내가 조사 할 것입니다. 귀하의 제안에 감사드립니다. – Lalith

관련 문제