Как создать постоянное сокетное соединение на Android? - PullRequest
4 голосов
/ 29 апреля 2010

Прежде всего, позвольте мне сказать, что не стесняйтесь рекомендовать меня, если долгоживущие постоянные соединения TCP являются подходящим способом или постоянные соединения HTTP лучше.

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

Я просто спрашиваю в любопытном интересе, как я могу создать постоянное соединение с Android на сервер?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 06 мая 2010

Это действительно зависит от ваших требований и от того, требуется ли вам постоянное соединение или нет.

Если у вас есть чувствительные ко времени данные, которые нужно отправить с сервера на устройство, как только оно станет доступным, лучше всего будет использовать постоянное TCP-соединение.

Если допустимо, чтобы ваш сервер и устройство только периодически обменивались информацией, то опрос или HTTP-запросы могут быть лучшим выбором.

Лично я считаю, что хорошо реализованное долговременное TCP-соединение с двоичным протоколом является лучшим выбором при работе с постоянными соединениями, где информация всегда должна быть актуальной.

HTTP-соединения обычно дороги с точки зрения накладных расходов для каждого пакета, особенно если вы используете протокол на основе XML, такой как SOAP. Кроме того, подключение и демонтаж розеток, как правило, довольно дорого.

С другой стороны, постоянные TCP-соединения могут быть сложны для реализации как на стороне клиента, так и на стороне сервера. Срок службы батареи является огромным фактором на стороне устройства, и если вы ожидаете чего-то большего, чем несколько пользователей, подключенных одновременно, то вам, возможно, придется реализовать асинхронную модель связи на стороне сервера, что создает свои собственные проблемы.

Удачи!

2 голосов
/ 29 апреля 2010

Долгоживущие TCP-соединения - плохая идея для любого мобильного устройства, потому что сеть очень грязная. Лично я использую UDP или временные HTTP-соединения с концепцией HTTP-сессии.

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