Что такое длинный опрос?
Вариант традиционного метода опроса, позволяющий эмулировать передачу информации от сервера к клиенту. При длительном опросе клиент запрашивает информацию с сервера аналогично обычному опросу.
- Если на сервере нет информации, доступной для клиента, вместо отправки пустого ответа сервер удерживает запрос и ожидает, пока не станет доступна некоторая информация.
Как только информация становится доступной (или после подходящего тайм-аута), клиенту отправляется полный ответ. Затем клиент обычно немедленно повторно запрашивает информацию с сервера, так что сервер почти всегда будет иметь доступный ожидающий запрос, который он может использовать для доставки данных в ответ на событие.
В контексте Web / AJAX длинный опрос также известен как программирование на комете.
А как насчет веб-сокетов?
WebSockets обеспечивают постоянное соединение между клиентом и сервером, которое обе стороны могут использовать для начала отправки данных в любое время.
- Клиент устанавливает соединение WebSocket посредством процесса, известного как рукопожатие WebSocket. Этот процесс начинается с того, что клиент отправляет серверу обычный HTTP-запрос.
- В этот запрос включен заголовок Upgrade, который информирует сервер о том, что клиент желает установить соединение WebSocket.
Вывод :
Если вам нужна связь в реальном времени, вы можете выбрать веб-сокеты.
Но в длинном опросе:
Соединение между веб-клиентом и веб-сервером остается открытым, так что, когда сервер получает новую информацию, он может передать ее клиенту. На этом запрос завершен. Затем между клиентом и сервером делается новый запрос, а затем ожидается новое обновление с сервера. Одно и то же TCP-соединение обычно постоянно открыто на протяжении нескольких запросов из-за поддержки активности HTTP / 1.1.
Ссылки и другие соображения:
PubNub: длинный опрос против сокетов - время автономной работы мобильного телефона
Что такое Long-Polling, Websockets, Server-Sent Events (SSE) и Comet?
длинный опрос в объекте C
Введение в WebSocket
Websocket против длительного опроса
Использование веб-сокетов в приложениях
Приложение Websocket
PushTechnology - длинный опрос