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