2011-02-06 3 views
1

나는 프로젝트를하고있다. 내 프로젝트의 경우 Android 애플리케이션을 만들어야합니다. Java와 Eclipse를 사용합니다.Android - 서버와 클라이언트 간의 통신을 위해 XMPP 또는 REST 대신 사용할 수있는 좋은 방법이 있습니까?

앱의 주요 아이디어. 응용 프로그램은 환경/위치에서 작동합니다. 애플리케이션이 사용자 위치 인 에서 픽업해야하는 경우 그는 또한 같은 위치에있는 친구 나 동료들과 대화 할 수 있어야합니다.

실시간 통신이 있습니다. 그리고 클라이언트는 서브와 통신 할 수 있어야합니다. 시스템은 또한 WiFi 및 GPS를 통해 위치를 설정합니다. 데이터베이스는 정보를 저장합니다. 또한 오픈 소스 여야합니다.

저는 XML-RPC, JSON-RPC 및 SOAP에 대해 살펴보고 읽기 시작했습니다. 이것은 내 첫 번째 Android 애플리케이션입니다.

서버와 클라이언트 간의 통신을 위해 XMPP 또는 REST 대신 사용할 수있는 좋은 대안을 찾고 있습니까? 어떤 추천이나 조언을 주시면 감사하겠습니다.

감사합니다.

+0

"나는 서버와 클라이언트 간의 통신을위한 좋은 XMPP에 대한 대안이나 REST를 찾고 있어요"- 왜? "좋은"무엇을 생각하십니까? – CommonsWare

+0

이 숙제가 있습니까? 아니면 그냥 머리 위로 들리고 있니? :) – bzlm

+0

둘다 조금. 그 순간 나는 연구를하고 있고 그 다음에 그것을 시도하고 구현할 것입니다. 나는 경험이있는 사람들에게 물어 보는 것이 좋은 생각이라고 생각했습니다. 두 번째 의견을 얻으십시오. – Ann

답변

0

정말 요구 사항에 따라 다릅니다. 구현하기 쉽고, 안드로이드에서 잘 지원되며, 서버 측에서 선택할 수있는 많은 옵션이 있으며, 프록시를 통해 작동하며, HTTP는 방화벽을 통해 거의 모든 곳에서 허용됩니다 (HTTP (S) 기반) (당신이 WiFi를 사용할 때 제한적인 방화벽을 생각해 보라).

실시간 커뮤니케이션이라면 완전히 다른 이야기입니다. 그러나 우리는 처음에 당신이 정확히 무엇을하려고하는지 더 많이 알아야합니다. 안드로이드의

+0

실시간 통신이 가능합니다. 그리고 클라이언트는 서브와 통신 할 수 있어야합니다. 시스템은 또한 WiFi 및 GPS를 통해 위치를 설정합니다. 데이터베이스는 정보를 저장합니다. – Ann

+0

정말로 실시간으로 수행해야한다면 UDP를 사용하고 데이터의 인코딩/표현을 현명하게 선택하는 것이 가장 좋습니다. 언급 한 사람이 사용하는 프로토콜 버퍼가 좋은 선택이지만 JSON을 사용할 수도 있습니다. 이는 주로 전송하는 데이터의 유형에 달려 있습니다. 그러나 낮은 수준의 UDP 소켓 및 모든 결과를 처리하는 것은 마음이 희미하지 않을 수 있습니다. 손실되거나 중복 된 패킷, 네트워크 문제로 인해 도착하지 못하거나 지터가 도착한 패킷 또는 전화가 네트워크를 전환 할 때 처리해야합니다 . 그래서 여전히 HTTP를 구현하는 것이 훨씬 쉽다고 말하고 싶습니다. – ldx

0

일부 부품 통신에 프로토콜 버퍼를 사용 http://code.google.com/apis/protocolbuffers/

그것은 구글이 내부적으로 사용 된 메커니즘,하지만 그들은 싸서 도구를 출시했습니다. Markplace 앱은 프로토콜 버퍼를 사용하여 예를 들어 클라이언트와 서버간에 통신합니다. 그것은 교환의 "유선"크기면에서 다른 많은 것보다 더 컴팩트 한 대안입니다. 그러나 클라이언트 측에서 여러 플랫폼을 지원해야하는 경우 모든 프로토콜 버퍼 버퍼가 있는지 확인하십시오. JSON 또는 XML 기반 시스템과 같은 기술로 인기가 없습니다.

관련 문제