Технология внедрения Push-сервера? - PullRequest
1 голос
/ 05 июля 2011

Я планирую разработать решение, которое использует функциональность push. Там будет сервер и мобильное устройство клиентское приложение.

Мне нужно знать, как передавать сообщения клиенту с сервера. То есть мое клиентское приложение пассивно ждет, пока сообщения не придут с сервера.

Какая технология заключается в отправке сообщений с сервера.

Клиенты в форме Android, J2me, BB, iphone и т. Д.

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

Посмотрите на веб-сокеты HTML5.Это способ открытия сокета raw TCP * , который работает как сокет TCP ( с некоторыми ограничениями ), но инициируется через HTTP из браузера, обеспечивая истинную двустороннюю связь.Он поддерживается во многих современных браузерах, включая текущий браузер iOS.Android не поддерживает его, но там вы можете использовать Flash-пиксель.Довольно просто написать Flash-файл, который управляет сокетом и передает всю информацию туда и обратно в Javascript.Если вам интересно, я думаю, что у меня даже есть какой-нибудь код, который я мог бы найти для вас.

2 голосов
/ 05 июля 2011

Google для "COMET", вы получите много ссылок. Вообще говоря, вам нужна серверная структура, которая может парковать запросы и забирать их, когда у них есть данные для возврата. Например, базовый сервлет Java будет поддерживать поток для каждого запроса, а если вы «запарковали» запрос (сделав некоторое ожидание), поток будет приостановлен вместе с запросом. Таким образом, вы можете иметь столько клиентов, ожидающих запроса, сколько у вас могут быть потоки на сервере, чего недостаточно для больших приложений.

Итак, по крайней мере, вам нужна система, в которой потоки могут быть повторно использованы при приостановке запросов. Поскольку push снова становится популярным, фреймворки для его поддержки расцветают, поэтому без дополнительного контекста сложно порекомендовать определенный сервер / фреймворк.

Сказав это :-), в Play Framework (http://www.playframework.org/) есть пример приложения чата, использующего три варианта «push». Во всяком случае, стоит изучить код (предполагая, что вы знаете Java), чтобы получить чувство различных решений.

...