2013-02-28 1 views
2

У меня есть веб-сервер, на который я хочу отправить данные клиенту, когда сервер обнаруживает изменение в базе данных. Я хочу, чтобы клиент получал данные без опроса.java script server async events

Каков наилучший способ достичь этого?

(я читал немного о SSE - сервер послал событие, но не уверен, что это путь)

Благодарности

+0

Чтобы обнаружить изменения в базе данных, должна быть процедура опроса. –

+0

Изменение базы данных на сервере, я хочу избежать опроса сервера клиентом –

+0

Вы упомянули только javascript и jquery, можете ли вы рассказать нам, какую базу данных вы используете, и каков ваш интерфейс? –

ответ

0

Если опрос не вариант, вы можете думать о лучшей технике, WebSockets, если ваш сервер поддерживает его (и ваш целевой браузер!). Так или иначе, вам нужно подключение, открытое клиентом на сервер.

+0

Почему WebSockets лучше, чем SSE? –

+0

Я сказал, что это лучше, чем традиционные методы опроса (ИМХО), а не SSE. И WS, и SSE хороши в том, что они делают, читайте больше там: http://stackoverflow.com/questions/5195452/websockets-vs-server-sent-events-eventsource – Greg

0

Ответ будет зависеть от свободы, которую вы имеете с Javascript на стороне клиента.

Если ваше приложение дает вам полную свободу, вы даже можете настроить своего клиента как слушателя JMS и передавать JMS-сообщения от клиента к серверу. Например, вы можете использовать Apache Ajax.

Другой вариант заключается в настройке веб-клиента, чтобы быть Redis-клиент, используя, напр, Webdis

Как уже упоминалось, сервер посланный-события вариант тоже, так WebSockets. Вам нужно выбрать, основываясь на ваших ограничениях.

1

Да, Server-Sent Events - это подходящая технология для прослушивания изменений на сервере.

Если вы только слушаете, SSE лучше (быстрее, легко, HTTP-совместимо), чем двухсторонний WebSocket.

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