2016-09-30 2 views
1

Я знаю, что у меня нет кода, чтобы показать вам, ребята, я застрял в какой-то момент, и я не знаю, с чего начать. Надеюсь, кто-то мне поможет.Отправить сообщение от Server to All Clients

Я разрабатываю приложение Spring MVC, и мне нужно отправить сообщение всем пользователям активного сеанса, чтобы выполнить скрипт, доступный всем клиентам, поскольку он определен в файле js и включен для каждого пользователя.

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

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

**** Обновление **** Я также могу использовать опрос, если есть способ: если контроллер получает запрос, сеанс должен считаться бездействующим во время этого, например, есть контроллер который вызывается каждые 5 минут, а в сеансе - 30 минут. Сессия не истекает в это время, если контроллер используется для опроса вызывается каждые 5 минут, мне нужно, чтобы исключить конкретный контроллер из расчета времени простоя

+0

Как насчет общего старинке решения Java? Вместо этого, если вы отправляете сообщение, вы могли бы опробовать серверный ресурс каждые X минут. – chrisl08

+0

. Я не могу сделать это таким образом, это было первое требование. –

+0

получается, я могу использовать опрос, обновил вопрос. Если бы вы могли дать решение, это будет здорово! –

ответ

1

Нет опросом Решение: Из того, что я понимаю, вас нужен механизм удаленного вызова процедур. Я бы пошел с https://github.com/eriksank/rpc-websocket. Общая идея:

  1. Ваши клиенты регистрируются на вашем сервере как «потребители».
  2. Когда сообщение готово, ваш сервер затем проходит через каждого зарегистрированного «потребителя» и отправляет сообщение, которое может обрабатывать rpc-websocket.

опрос Решение: Вот общая идея работает, если вы зарегистрированы, зарегистрированные пользователи.

  1. есть таблица базы данных, которая хранит сообщения, позволяет называть его «сообщения».
  2. Имейте таблицу базы данных, которая отслеживает сообщения и пользователей, позволяет называть ее «message_tracker». если пользователь видел сообщение, в этой таблице будет строка в messageId и UserID.
  3. У вас есть сценарий javascript для опроса сервера URL для новых сообщений. Новое сообщение может быть определено на основе приведенных выше таблиц базы данных.
  4. Если новое сообщение найдено, обрабатывает его, а затем вызвать другой URL-адрес сервера, который вставляет в message_tracker таблицы базы данных
+0

Спасибо, человек! Это будет работать для меня. –

Смежные вопросы