Двусторонняя связь между Android и сервером - PullRequest
4 голосов
/ 22 февраля 2012

Я хочу два общения между сервером и Android. С Android хочу отправлять координаты моего текущего местоположения на сервер через каждые 10 минут. Я могу отправить сообщение или изображения на сервер в любое время. Точно так же с сервера я хочу отправлять данные на Android при необходимости

Какой должна быть архитектура моего приложения.

Связь между Android и сервером, а также между сервером и Android не зависит друг от друга. Мне не следует называть это двусторонней связью, но в действительности я хочу в любое время общаться с обеих сторон.

Должен ли я использовать какой-либо веб-сервис или просто сетевые сокеты или что-то еще.

Ответы [ 2 ]

3 голосов
/ 22 февраля 2012

Вы можете использовать websockets или ...

Просто отправьте данные с телефона на сервер, используя обычный запрос.Когда вы хотите отправить что-то с сервера на телефон, вы можете использовать push-уведомления ( C2DM ), и если вы получаете такое push-сообщение, вы знаете, что на сервере есть данные для вас, и телефон может загрузить их, используя обычный запрос ;-).Это зависит от того, какие данные вы хотите отправить.Иногда этот подход будет хорошим, иногда лучше использовать веб-сокеты, TCP-сокеты или даже протокол XMPP; -)

0 голосов
/ 22 февраля 2012

Вы можете использовать Подтверждение для того же. Вам необходимо реализовать логику ACK / NACK в вашем коде. Когда вы отправляете данные, просто ждите подтверждения в течение определенного периода времени. Если ACK не получен, вам нужно отправить NACK для того же. Здесь вам нужно использовать идентификатор сеанса (своего рода идентификатор для связи с обеих сторон, который может быть любым случайным числом).

Вы можете использовать эту логику с обеих сторон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...