Подтвердить что ты не робот

Различия между веб-сайтами и длительным опросом для пошагового игрового сервера

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

Мне любопытно, может ли кто-нибудь прокомментировать производительность и легкость различий в реализации между использованием веб-узлов и длительным опросом. Кроме того, если я использую веб-порты, должен ли я использовать его только для получения информации и отправки запросов POST для всего остального или должно быть все сообщение через websocket?

Кроме того, есть ли что-либо дополнительное для рассмотрения между веб-окнами и длинным опросом, если я заинтересован в создании веб-клиента?

4b9b3361

Ответ 1

Что такое длинный опрос?

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

  • Если у сервера нет информации, доступной для клиента, вместо отправки пустого ответа сервер хранит запрос и ожидает получения некоторой информации.
  • Как только информация станет доступной (или после подходящего таймаута) полный клиент отправляется клиенту. Обычно клиент затем немедленно запросите информацию с сервера, чтобы сервер почти всегда будет иметь доступный запрос ожидания, чтобы он может использовать для доставки данных в ответ на событие.

    В контексте web/AJAX длительный опрос также известен как программирование кометы.

Как насчет веб-узлов?

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

  • Клиент устанавливает соединение WebSocket через известный процесс как рукопожатие WebSocket. Этот процесс начинается с клиента отправляя на сервер обычный HTTP-запрос.
  • В этот запрос включен заголовок Upgrade, который сообщает серверу что клиент хочет установить соединение WebSocket.

Заключение:

Если вам нужна связь в режиме реального времени, вы можете очень хорошо выбрать веб-сайты.

Но в длинном опросе:

Между веб-клиентом и веб-сервером поддерживается соединение, так что, когда у сервера есть новая информация, он может подтолкнуть его к клиенту. Затем этот запрос завершается. Затем создается новый запрос между клиентом и сервером, а затем ждет другого обновления с сервера. Одно и то же TCP-соединение обычно открыто сохраняется на протяжении нескольких запросов из-за HTTP/1.1 keep-alives.

Ссылки и другие соображения:

PubNub длительный опрос против сокетов - мобильное время автономной работы

Что такое Long-Polling, Websockets, Server-Sent Events (SSE) и Comet?

длительный опрос в objective-C

Введение в Websocket

Websocket Vs Long Polling

Использование веб-сокетов в приложениях

Приложение для веб-приложений

PushTechnology-Long Polling