Piszę serwer do gry na iOS. Gra jest turowa, a serwer potrzebuje tylko informacji do klienta, aby powiadomić o ruchu przeciwnika.
Jestem ciekawy, czy ktoś mógłby wypowiedzieć się na temat wydajności i łatwości implementacji różnic między używaniem websocketów a długim sondowaniem. Ponadto, jeśli korzystam z gniazd internetowych, czy powinienem używać go tylko do odbierania informacji i wysyłania żądań POST do wszystkiego innego, czy też cała komunikacja powinna odbywać się przez gniazdo sieciowe?
Dodatkowo, czy jest coś do rozważenia między gniazdami sieciowymi a długim odpytywaniem, jeśli jestem zainteresowany również utworzeniem klienta internetowego?
ios
web-services
rest
websocket
long-polling
kwaśny
źródło
źródło
Odpowiedzi:
Odmiana tradycyjnej techniki odpytywania, która umożliwia emulację wypychania informacji z serwera do klienta. W przypadku długiego odpytywania klient żąda informacji od serwera w podobny sposób, jak normalne sondowanie.
Po udostępnieniu informacji (lub po upływie odpowiedniego czasu) do klienta wysyłana jest pełna odpowiedź. Klient normalnie natychmiast ponownie zażąda informacji z serwera, tak że serwer prawie zawsze będzie miał dostępne żądanie oczekiwania, którego może użyć do dostarczenia danych w odpowiedzi na zdarzenie.
W kontekście sieciowym / AJAX, długie odpytywanie jest również znane jako programowanie komet.
WebSockets zapewniają trwałe połączenie między klientem a serwerem, którego obie strony mogą użyć do rozpoczęcia wysyłania danych w dowolnym momencie.
Wniosek :
Jeśli istnieje potrzeba komunikacji w czasie rzeczywistym, możesz bardzo dobrze wybrać gniazda sieciowe.
Ale w długiej ankiecie:
Połączenie między klientem WWW a serwerem WWW jest utrzymywane w stanie otwartym, więc gdy serwer uzyska nowe informacje, może je przesłać do klienta. Ta prośba jest wtedy zakończona. Następnie między klientem a serwerem wysyłane jest nowe żądanie, a następnie czeka na kolejną aktualizację z serwera. To samo połączenie TCP jest zwykle trwale otwarte dla wielu żądań ze względu na utrzymywanie aktywności HTTP / 1.1.
Odniesienia i inne kwestie:
Długie odpytywanie PubNub a gniazda - żywotność baterii mobilnej
Co to jest Long-Polling, Websockets, Server-Sent Events (SSE) i Comet?
długie odpytywanie w celu-C
Wprowadzenie do Websocket
Websocket Vs Long Polling
Korzystanie z Websockets w aplikacjach
Aplikacja Websocket
Polling PushTechnology-Long
źródło