Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> push уведомления на desktop. как реализовать? как серверу инициализировать соединение? 
:(
    Опции темы
pocteg
Дата 28.4.2012, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.9.2011

Репутация: нет
Всего: нет



Требуется на desktop приложение присылать уведомления с сервера(о каком либо событии). По аналогии с push уведомлениями в iOS или Android. Есть: приложение на java(вполне возможно, что ip у клиента - "серый")  и сервер на app engine(https://developers.google.com/appengine/?hl=ru). Как реализовать такую возможность? Какие можно использовать технологии? 
PM MAIL   Вверх
GZep
Дата 28.4.2012, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



На клиентской стороне либо делать уведомления "свои", на java. Либо использовать нативные возможности ОС - http://en.wikipedia.org/wiki/Java_Native_Access , тут придется для каждой целевой платформы делать вызов нужной службы, чтобы показать уведомление.
На линуксе знаю есть несколько api для нотификаций в зависимости от оконного менеджера, но в принципе все простые.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
pocteg
Дата 28.4.2012, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.9.2011

Репутация: нет
Всего: нет



Ну на данный момент я и смотрю в сторону "своих" уведомлений, но не очень понятно какие технологии можно использовать, какой протокол выбрать... Основная проблема на данный момент заключается в том, как реализовать доступ к клиенту, у которого "серый" IP. ТЕ если ip уникальный, то можно просто прослушивать какой либо порт, а сервер будет просто стучаться к клиенту.. а вот если ip у клиента "серый", то мне не понятно как с сервера можно "достучаться" до клиента.
PM MAIL   Вверх
LSD
Дата 28.4.2012, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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.
PM MAIL WWW   Вверх
pocteg
Дата 28.4.2012, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.9.2011

Репутация: нет
Всего: нет



Желательна реализация без постоянного соединения, тк в app engine стоят ограничения на время соединения.  Ведь, насколько я понимаю, в push уведомлениях iOS/Android нет постоянного соединения. Или я не прав?
PM MAIL   Вверх
COVD
Дата 28.4.2012, 14:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

какой протокол выбрать... 

HTTP, очевидно.

Сервер никогда не устанавливает соединения с клиентами (иначе он не может называться "сервер"). Вам нужен "polling" - клиенты периодически опрашивают сервер. Если на сервере появилась новая информация для клиента, он ее отправляет в ответ на запрос. В этом случае нет необходимости в постоянном соединении. В каждом клиентском http запросе создается новое URLConnection, которое открывает новое сокетное соединение только в случае, если предыдущее соединение было закрыто по какой-либо причине. Это поведение по умолчанию.



Это сообщение отредактировал(а) COVD - 28.4.2012, 15:16
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0529 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.