Różnice między websocketami a długimi sondażami na turowy serwer gier

Piszę serwer do gry na iOS. Gra jest turowa i jedynym czasem, kiedy serwer musi przekazać informacje Klientowi, jest powiadomienie o ruchu przeciwnika.

Jestem ciekaw, czy ktoś mógłby skomentować wydajność i łatwość implementacji różnic między używaniem websockets a długim sondażem. Ponadto, jeśli korzystałem z websockets, powinienem używać go tylko do otrzymywania informacji i wysyłania żądań postów o Wszystko inne, czy cała komunikacja powinna odbywać się za pośrednictwem websocket?

DODATKOWO, czy jest coś do rozważenia między websockets i long ankiet, jeśli jestem zainteresowany również wykonaniem klienta WWW?

Author: acidic, 2015-07-30

1 answers

Czym jest Long ankiet ?

Tutaj wpisz opis obrazka Odmiana tradycyjnej techniki ankietowania i pozwala na emulację przekazu informacji z serwera do klienta. W przypadku długich ankiet, klient żąda informacji od serwera w podobny sposób do normalnej ankiety.

  • jeśli serwer nie ma żadnych informacji dostępnych dla klienta, zamiast wysyłać pustą odpowiedź, serwer przechowuje żądanie i czeka na jakieś informacje dostępny.
  • Gdy informacja stanie się dostępna (lub po odpowiednim czasie), kompletna odpowiedź jest wysyłana do klienta. Klient będzie normalnie następnie natychmiast ponownie zażądać informacji z serwera, tak aby serwer prawie zawsze będzie miał dostępną prośbę oczekującą, że może służyć do dostarczania danych w odpowiedzi na zdarzenie.

    W kontekście web/AJAX, long ankiet jest również znany jako Comet programming.

A co z Websockets ?

Tutaj wpisz opis obrazka WebSockets zapewniają trwałe połączenie między Klientem a serwerem, które obie strony mogą wykorzystać do rozpoczęcia wysyłania danych w dowolnym momencie.

  • Klient ustanawia połączenie WebSocket poprzez proces znany jako WebSocket handshake. Proces ten rozpoczyna się od klienta wysyłanie zwykłego żądania HTTP do serwera.
  • nagłówek Upgrade jest dołączony do tego żądania, które informuje serwer że klient chce ustanowić Połączenie WebSocket.

Wniosek :

Jeśli istnieje potrzeba komunikacji w czasie rzeczywistym, Możesz bardzo dobrze zdecydować się na websockets .

Ale w długich sondażach:

Połączenie między web klientem a web serwerem jest otwarte tak, że gdy serwer ma nowe informacje, może je wypchnąć do klienta. Żądanie to jest następnie zakończone. Następnie między Klientem a serwerem jest dokonywane nowe żądanie, a następnie czekać na kolejną aktualizację z serwera. To samo Połączenie TCP jest zazwyczaj otwarte przez wiele żądań ze względu na HTTP/1.1 keep-alives.

Odniesienia i inne rozważania:

PubNub long polling vs sockets - mobile battery life

Czym są Long-Polling, Websockets, Server-Sent Events (SSE) i Comet?

Długie sondaże w objective-C

Websocket Introduction

Websocket Vs Long Ankiet

Korzystanie Z Websockets w aplikacjach

Aplikacja Websocket

PushTechnology-Long Ankiet

 109
Author: EnggForum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:46:55