2011-07-16 5 views
2

안드로이드와의 TCP 연결에서 지금까지 본 모든 문서, 예제 및 질문은 안드로이드 장치와 컴퓨터 사이에있었습니다. 무선만큼 신뢰할 수 없기 때문에 Wi-Fi를 통해 Android 기기간에 클라이언트 - 서버 TCP 연결을 할 수 있습니까? 그렇다면 어떻게해야합니까?안드로이드에서 안드로이드로의 TCP 연결

편집 : 내 상황에 대해 자세히 설명해야 할 것 같습니다. Droid를 클라이언트로 만들고 내 랩톱을 서버로 설정하지 않으면 My Droid가 ping에 응답하지 않거나 들어오는 TCP 요청을 수락하지 않습니다. 이 초기 연결이 설정된 후 내 랩톱에서 핑 (ping)을하거나 드로우 (Droid)를 서버로, 랩톱을 클라이언트로 만들 수 있습니다. 내가 할 수없는 것은 하나의 Droid를 서버로 만들고 다른 클라이언트를 클라이언트로 만드는 것입니다. 항상 "No route to host"오류가 발생합니다.

장치가 다른 장치와 연결을 시작하지 않는 한 들어오는 연결을 차단하는 것처럼 느껴지고 심지어 장치가이 장치로 받아 들일 유일한 요청이있는 것 같습니다. Droid를 로컬 인트라넷의 모든 장치에서 들어오는 모든 TCP 요청을 받아들이는 서버로 만들려면 어떻게해야합니까?

+1

나는 대답이 없어,하지만 난 내 삼성 갤럭시 S II에 동일한 문제가 말할 수 있습니다. 이것이 공용 Wifi 네트워크에서 다른 장치간에 바이러스 전파를 시도하고 피하는 일종의 보안 조치 일 수 있습니까? 일부 ISP의 경우 이러한 종류의 위협으로부터 보호하기 위해 설계된 방화벽이있을 수 있지만 해당 방화벽은 로컬 네트워크의 장치가 서로 직접 대화 할 수있는 경우 모든 도움을 제공하기를 원합니다 ... –

답변

0

수 있어야합니다. 장치에서 클라이언트 및 서버 코드를 실행하는 것을 제외하고는 컴퓨터/장치 연결과 마찬가지로하십시오.

+0

이전에 다른 장치와 클라이언트로 TCP 연결을 시작하지 않았다면 장치가 들어오는 연결을 허용하지 않기 때문에 Droid에서 서버를 실행하면 작동하지 않습니다. 이 경우 장치가 서버로 작동 할 때 들어오는 연결은 이전 세션의 장치에서만 수신됩니다. 이것은 Droid 디바이스를 서버로 사용하는 유일한 방법이며, 심지어 로컬 네트워크의 다른 디바이스로부터의 연결을 허용하지도 않습니다. – kurifu

+0

액세스 포인트/클라이언트의 wifi 개념을 tcp server/client 개념과 혼동하고 있습니까? 또한 휴대 전화를 tcp 클라이언트로 사용하면 Wi-Fi가 완벽하게 연결되고 활성 상태가됩니다. 시간이 초과 될 수 있습니다. 아마도 서버가 활성 상태로 있어야하는 동안 액세스 포인트 나 dns 서버 또는 몇 분마다 핑 (ping)하거나 쿼리 할 수 ​​있습니다. –

+0

OS 또는 다른 앱이 수신 연결을 차단하고있을 수 있습니까? 멀티 플레이어를 추가 할 앱이 있기 때문에 알고 싶습니다. –

0

인터넷에 관한 깔끔한 것 중 하나는 인터넷이 두 대의 PC, PC 및 전화기 또는 두 대의 전화 사이에 연결을 설정하는지 여부에 상관하지 않는다는 것입니다. 나는 Socket 문서를 보았습니다. 그 문서는 롤링하기에 충분할 것입니다.

+0

소켓 구현이 작동 중입니다. 문제는 인터넷을 통해 장치를 연결하지 않고 문제가 매니페스트에 설정된 사용 권한이 있어도 항상 "호스트 경로 없음"오류를 생성하는 로컬 인트라넷의 연결 장치입니다. – kurifu

0

확실히 가능합니다. 유일한 문제는 IP 주소를 파악하는 것입니다. 나는 고정 IP를 가지고있는 전화를 기대하지 않는다. 그러나 어딘가에 IP가 양쪽 전화기에 알려져있는 고정 된 "로그인"서버가 있다면 그들은 그 서버를 통해 핸드 셰이크를 할 수 있고 그 후에 피어를 계속할 수있다. -응시하다.

0

; 유일한 문제는 IP 주소를 파악하는 것입니다. 나는 전화가 고정 IP를 기대하지 않습니다.

시도해보십시오. 전화 웹 브라우저를 사용하여이 웹 사이트에 로그인하십시오 : IP 주소를 제공해야합니다.

http://whatismyipaddress.com/