Как я могу получить последние или свежие данные с сервера (если на сервере произошло новое событие (например, есть 2 пользователя x, y и x, которые отправляют сообщения y, а y получают это сообщение без перезагрузки страницы ))? Я не хочу использовать setInterval, потому что он снова и снова повторяет все сообщения. Есть ли техника, которую я могу использовать для этого? Я слышал об Ajax, что эта техника должна отправлять запрос на сервер, но я хочу, чтобы когда произошло событие на сервере, и веб-страница получила его без обновления.
Получить данные обновления с сервера
Ответы (2)
Первый метод — это долгий опрос, при котором на сервер отправляется запрос и ожидание, пока сервер что-то отправит, например, новое сообщение. Вы должны повторно отправлять запросы на сервер каждый раз, когда вы получаете новое сообщение или время ожидания вашего запроса истекло. Этот метод использует AJAX. Пример PHP с длинным опросом — Как реализовать базовый длинный опрос?
Второй — веб-сокеты, https://en.wikipedia.org/wiki/WebSocket.
этот вопрос stackoverflow касается реализации websocket .
На socket.io есть демонстрация приложения чата.
Если вы ищете двунаправленный полнодуплексный метод, выберите WebSockets
, но для простого опроса данных с сервера вы также можете использовать Server Sent Event
. Добавление ссылок для обоих:
Веб-сокет:
http://html5demos.com/web-socket
http://en.wikipedia.org/wiki/WebSocket
Веб-сокеты HTML5 для приложения чата в реальном времени?
ССЭ:
http://www.html5rocks.com/en/tutorials/eventsource/basics/< /а>
Примеры:
SSE: http://demo.howopensource.com/sse/
WebSocket
(система чата), но если вы хотите просто получать данные с сервера, используйте SSE
(терминал фондовой биржи)
- person Avinash; 30.05.2015