Как уведомить клиентов рабочего стола Java об изменениях с сервера? - PullRequest
5 голосов
/ 09 сентября 2010

Я хотел бы разработать настольное приложение с Java (у меня есть базовые знания Java).Он будет работать на компьютере клиента и будет получать информацию с сервера, размещенного в Интернете.Я могу установить задачу по расписанию для подключения к серверу каждые 2 минуты и проверять наличие обновлений / изменений, но я не думаю, что это очень хорошая идея.Есть ли способ сообщить клиентам об изменениях?Например, когда каждый сервер изменений будет отправлять клиентам уведомление об обновлении?На сервере может быть другая технология, например Java

любая помощь будет принята с благодарностью, еще раз спасибо!

Ответы [ 2 ]

5 голосов
/ 09 сентября 2010

Перемещение на клиентов всегда будет трудным - в основном из-за брандмауэров. В большинстве случаев работа клиента с сервера (с HTTP) гораздо эффективнее.

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

1 голос
/ 09 сентября 2010

Вы можете использовать JMS для отправки сообщений с вашего сервера в ваши приложения, если вы используете Java Server.

Или вы можете использовать приложение Comet для отправки сообщений клиентам через HTTP.

Третий способ - создать собственную систему push-уведомлений, где ваши клиенты подключаются к серверу для предоставления некоторой информации о том, как с ними связаться, и с помощью шаблона Observer / Observable вы уведомляете каждого клиента при каждой модификации.


Ресурсы:

...