![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| pocteg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.9.2011 Репутация: нет Всего: нет |
Требуется на desktop приложение присылать уведомления с сервера(о каком либо событии). По аналогии с push уведомлениями в iOS или Android. Есть: приложение на java(вполне возможно, что ip у клиента - "серый") и сервер на app engine(https://developers.google.com/appengine/?hl=ru). Как реализовать такую возможность? Какие можно использовать технологии?
|
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
На клиентской стороне либо делать уведомления "свои", на java. Либо использовать нативные возможности ОС - http://en.wikipedia.org/wiki/Java_Native_Access , тут придется для каждой целевой платформы делать вызов нужной службы, чтобы показать уведомление.
На линуксе знаю есть несколько api для нотификаций в зависимости от оконного менеджера, но в принципе все простые. -------------------- ![]() ![]() |
|||
|
||||
| pocteg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.9.2011 Репутация: нет Всего: нет |
Ну на данный момент я и смотрю в сторону "своих" уведомлений, но не очень понятно какие технологии можно использовать, какой протокол выбрать... Основная проблема на данный момент заключается в том, как реализовать доступ к клиенту, у которого "серый" IP. ТЕ если ip уникальный, то можно просто прослушивать какой либо порт, а сервер будет просто стучаться к клиенту.. а вот если ip у клиента "серый", то мне не понятно как с сервера можно "достучаться" до клиента.
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Пусть клиент открывает соединение с сервером и по этому соединению сервер шлет нотификации клиенту.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| pocteg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.9.2011 Репутация: нет Всего: нет |
Желательна реализация без постоянного соединения, тк в app engine стоят ограничения на время соединения. Ведь, насколько я понимаю, в push уведомлениях iOS/Android нет постоянного соединения. Или я не прав?
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
HTTP, очевидно. Сервер никогда не устанавливает соединения с клиентами (иначе он не может называться "сервер"). Вам нужен "polling" - клиенты периодически опрашивают сервер. Если на сервере появилась новая информация для клиента, он ее отправляет в ответ на запрос. В этом случае нет необходимости в постоянном соединении. В каждом клиентском http запросе создается новое URLConnection, которое открывает новое сокетное соединение только в случае, если предыдущее соединение было закрыто по какой-либо причине. Это поведение по умолчанию. Это сообщение отредактировал(а) COVD - 28.4.2012, 15:16 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |