2011-11-07 5 views
1

저는 현재 Android 프로젝트를 진행 중이며 두 개의 Android 휴대 전화 사이의 통신 설정에 대한 최선의 방법을 찾으려고합니다.Android Communication : 전화로 전화 응용 프로그램 제어

1 개의 Android 휴대 전화가 모바일 플랫폼에 도킹됩니다. R/C 자동차. 나는이 휴대 전화가 다른 안드로이드 전화에서 보낸 간단한 제어 신호 ("앞으로", "뒤로", "왼쪽", "오른쪽", "gotoCoordinate")를 받기를 원합니다. 또한 도킹 된 전화가 상태 신호를 반환 할 수있게하려고합니다.

GPRS를 통해 통신이 이루어지기를 원합니다. P2P 통신과 관련하여 어려움을 알고 있으며 현재 Android Cloud To Device Messaging을 검토 중입니다. (http://code.google.com/android/c2dm/index.html)

안드로이드 C2DM에 대한 귀하의 경험에 대해 듣고 싶습니다. 내 프로젝트에서 그것을 활용. 이 문제를 해결하는 방법에 대한 다른 제안을 주시면 감사하겠습니다. 이 방법을 사용하여 상대적으로 높은 대기 시간을 처리해야하지만, 가능한 한 최저로 처리해야합니다.

답변

1

C2DM은 메시지의 "배달 또는 순서"에 대해 보증하지 않으며 보낼 수있는 메시지 수에 제한이 있습니다 (상한선이지만 한도 임). RC 자동차를 제어하는 ​​것과 같이 대기 시간이 짧은 것은 아닙니다. 비 실시간 이벤트에 더 좋습니다. 낮은 지연 물건

http://code.google.com/android/c2dm/

GPRS 당신이 설정 자신에 타사 서버를 할 수있는 두 전화는 그것을 통해 의사 소통을 한 사용. 필자는 TCP 소켓을 똑바로 사용하는 여러 안드로이드 앱을 위해이 작업을 수행했으며, UDP를 사용했다면 훨씬 더 빠르고 더 잘 작동 할 것입니다. GPRS를 사용하면 필요에 따라 대기 시간이 너무 길어질 수 있지만, 이는 매우 편리합니다. 거의 항상 존재하며 다른 방법은 그렇지 않습니다.

이상적인 방법은 사용 가능한 모든 것을 결합하고 정상적으로 폴백하는 것입니다. 네트워크 연결이 완료되면 대기 시간을 테스트하여 보완 할 수 있습니다. 예를 들어, 사용 가능한 경우 로컬 WiFi 네트워크를 사용하십시오. 다시 말하면, 두 장치가 시작될 때 제 3의 서버에 "등록"하고, 둘 다 동일한 WiFi 상에 있다면 직접 통신 할 수 있습니다 (하나 또는 둘 모두에서 서버를 실행하고 둘 중 하나에서 클라이언트를 실행하거나, 발견 등의 정보를 등록에서 얻으십시오). 그들이 WiFi에 있지 않다면 GPRS로 돌아가지만 더 많은 대기 시간이 있음을 알아야합니다. 마지막으로 일단 어떤 방법이 설정되면 대기 시간을 확인하기위한 몇 가지 테스트 메시지를 보냅니다.

나는 이것이 정말로 "대답"이 아니라는 것을 알고있다. 그러나 이것에 대한 의식의 흐름이 더 많지만, 그것은 의견에 맞지 않을 것이고, 도움이 될 것이라고 생각했다.).

(전체 공개 : 여러 모바일 기기와 여러 TV를 연결하고 GPRS, 일부 Wi-Fi, 일부를 직접 연결하는 Android 앱을 개발했습니다.) 그런 일을위한 플랫폼을 만드는 회사 (MOVL)에서 일합니다. , 모바일 TV 모바일에 초점을 맞추고 있지만 모바일 모바일도 지원합니다. 일상적인 네트워킹을하는 것은 그리 어렵지 않습니다. 까다로운 부분은 지연 시간을 줄이고 각 장치에 올바른 방법을 선택하는 것입니다.)

관련 문제