WebSocket to protokół warstwy aplikacji, który umożliwia dwukierunkową komunikację między klientem a serwerem. Protokół WebSocket działa najpierw, tworząc uścisk dłoni, a następnie komunikat zaimplementowany przez TCP, a nie podstawowy HTTP.
WebSockets a inne podobne technologie, takie jak SSE (zdarzenia Server-Sent) i WebRTC, są pomocne w aplikacjach, w których serwer musi zachować otwarte połączenie z podłączonymi klientami. Doskonałym przykładem WebSockets używanych w aplikacjach jest aplikacja do czatu, gry wieloosobowe online i narzędzia w czasie rzeczywistym, takie jak narzędzia analizy i współpracy.
WebSockets Zapewnia nam pełny, dwukierunkowy połączenie między serwerem a podłączonymi klientami w Internecie. Oznacza to, że zarówno serwer, jak i klient mogą pchać dane po ustalonym połączeniu.
W tym samouczku nie zanurzam głęboko w tym, jak WebSockets praca. Zamiast tego pokażę ci, jak użyć Pythona do wdrożenia prostej aplikacji za pomocą WebSocket.
Jeśli chcesz dowiedzieć się więcej o HTTP, WebSocket i SSES, Sprawdź inne samouczki na tej stronie, wyjaśniając ich różnice.
NOTATKA: Zanim zaczniemy, zakładamy, że znasz podstawowe koncepcje sieciowe, takie jak żądania HTTP i HTTP. Aby wdrożyć pojęcia w tym samouczku z pewną łatwością, musisz mieć podstawową wiedzę na temat programowania Pythona i JavaScript.
Krok 1: Konfiguracja środowiska
Zacznijmy wdrażać prosty serwer WebSocket, aby używać przeglądarki jako klienta do połączenia z serwerem.
Należy zauważyć, że celem tej implementacji nie jest zbudowanie ogromnej aplikacji, ale zapewnienie podstawowego zrozumienia, w jaki sposób możesz używać Python i JavaScript do tworzenia aplikacji WebSocket.
W tym celu będziemy musieli zainstalować Pythona, najlepiej Python 3.6+.
Będziemy również używać WebSocket pakiet.
https: // WebSockets.ReadThedocs.IO/en/Stable/indeks.html
Po zainstalowaniu Pythona użyj PIP, aby zainstalować pakiet WebSocket za pomocą poniższego polecenia:
PIP Instaluj WebSocketsGdy masz WebSockets Zainstalowany pakiet możemy zacząć tworzyć serwer i klient do połączenia.
Krok 2: Tworzenie serwera
Zacznij od utworzenia katalogu, w którym będziemy służyć aplikacji WebSocket.
W katalogu utwórz plik i nazywaj go serwerem.py
Wewnątrz serwera.plik PY, dodaj następujące wiersze kodu, które implementują prosty serwer na / URL.
Import AsyncioW pliku serwera importujemy wymagane pakiety w tym przypadku, Asyncio, I WebSockets.
Następnie tworzymy przewodnika, który przyjmuje argumenty WebSocket i ścieżka. WebSocket reprezentuje adres URL serwera (LocalHost: 8000). Ścieżka to URI dla przewodnika w naszej sprawie, URI to /.
Następnie czekamy na połączenie przychodzące i wiadomość. Wraz z otrzymanymi danymi wdrażamy działanie. W naszym przypadku prosta odpowiedź z zawartością otrzymanych danych.
Krok 3: Tworzenie klienta
Spróbujmy teraz zaimplementować prostego klienta do połączenia z serwerem. Użyjemy konsoli przeglądarki jako klienta, aby zachować prostotę samouczka.
Utwórz plik i nazwij go klientem.html. Wewnątrz pliku dodaj następujący kod:
Zapisz plik i otwórz go w przeglądarce.
Aby sprawdzić, czy połączenie działa, kliknij przycisk i sprawdź konsolę dla odpowiedzi serwera.
Po kliknięciu przycisku wiadomość jest wysyłana do serwera. Serwer następnie odpowiada zawartością wiadomości, co wskazuje, że połączenie jest ustanowione.
Wniosek
W tym samouczku widzieliśmy, jak korzystać z Python WebSockets pakiet w celu wdrożenia prostego WebSocket połączenie.