So implementieren Sie ein WebSocket in Python

So implementieren Sie ein WebSocket in Python

Websocket ist ein Anwendungsschichtprotokoll, das eine wechselseitige Kommunikation zwischen einem Client und einem Server ermöglicht. Das WebSocket -Protokoll funktioniert zuerst, indem er einen Handshake erstellt und dann ein über TCP implementiertes Nachrichtenrahmen und nicht ein grundlegendes HTTP implementiert wird.

Websockets und andere ähnliche Technologien wie SSE (Server-Sent-Ereignisse) und WEBRTC sind in Anwendungen hilfreich, bei denen der Server eine offene Verbindung zu den angeschlossenen Clients aufbewahrt muss. Ein hervorragendes Beispiel für Websockets, die in Anwendungen verwendet werden.

Websockets Bietet uns einen Full-Duplex- und bidirektionalen Zusammenhang zwischen dem Server und den verbundenen Clients über das Web. Das heißt.

In diesem Tutorial werde ich nicht tief in die Art und Weise eintauchen, wie Websockets arbeiten. Stattdessen zeige ich Ihnen, wie Sie Python verwenden können, um eine einfache Anwendung mit WebSocket zu implementieren.

Wenn Sie mehr darüber erfahren möchten HTTP, WebSocket und SSEs, Schauen Sie sich die anderen Tutorials auf dieser Website an, in denen ihre Unterschiede erläutert werden.

NOTIZ: Bevor wir beginnen, gehen wir davon aus, dass Sie mit grundlegenden Netzwerkkonzepten wie HTTP- und HTTP -Anfragen vertraut sind. Um die Konzepte in diesem Tutorial mit einem gewissen Leichtigkeit zu implementieren.

Schritt 1: Umgebungsaufbau

Lassen Sie uns einen einfachen WebSocket -Server implementieren, um den Browser als Client zu verwenden, um eine Verbindung zum Server herzustellen.

Es ist gut zu beachten, dass der Zweck dieser Implementierung nicht darin besteht, eine massive Anwendung zu erstellen, sondern Ihnen ein grundlegendes Verständnis dafür zu vermitteln, wie Sie Python und JavaScript verwenden können, um WebSocket -Anwendungen zu erstellen.

Dafür müssen wir Python installieren lassen, vorzugsweise Python 3.6+.

Wir werden auch die verwenden Websocket Paket.

https: // webockets.Readthedocs.IO/EN/Stable/Index.html

Sobald Sie Python installiert haben, installieren Sie das WebSocket -Paket mit dem folgenden Befehl:

PIP installieren Sie Websockets

Sobald Sie das haben Websockets Paket installiert, können wir mit dem Erstellen des Servers und eines Clients beginnen, um eine Verbindung herzustellen.

Schritt 2: Erstellen des Servers

Erstellen Sie zunächst ein Verzeichnis, in dem wir den Anwendungsanruf bedienen wollen Websocket.

Erstellen Sie im Verzeichnis eine Datei und rufen Sie es Server auf.py

Innerhalb des Servers.PY -Datei fügen Sie die folgenden Codezeilen hinzu, die einen einfachen Server auf der / URL implementieren.

Asyncio importieren
Websockets importieren
# Handler für jede Verbindung erstellen
Async Def Handler (WebSocket, Pfad):
Data = erwartet WebSocket.recv ()
Antwort = f "Daten erhalten als: Daten!"
Warten Sie Websocket.Antwort senden)
start_server = webockets.servieren (Handler, "Localhost", 8000)
Asyncio.get_event_loop ().run_until_complete (start_server)
Asyncio.get_event_loop ().run_forever ()

In der Serverdatei importieren wir die erforderlichen Pakete in diesem Fall, Asyncio, Und Websockets.

Als nächstes erstellen wir einen Handler, der die Argumente nimmt Websocket und Weg. Der Websocket repräsentiert die URL des Servers (Localhost: 8000). Der Weg ist der URI für den Handler in unserem Fall, der URI ist / /.

Wir warten dann auf die eingehende Verbindung und die Nachricht. Mit den empfangenen Daten implementieren wir eine Aktion. In unserem Fall eine einfache Antwort mit dem Inhalt der empfangenen Daten.

Schritt 3: Erstellen eines Kunden

Lassen Sie uns nun versuchen, einen einfachen Client zu implementieren, um eine Verbindung zum Server herzustellen. Wir werden die Browserkonsole als Kunde verwenden, um die Einfachheit des Tutorials zu erhalten.

Erstellen Sie eine Datei und rufen Sie es Client an.html. Fügen Sie in der Datei den folgenden Code hinzu:







Webocker Client





Speichern Sie die Datei und öffnen Sie sie im Browser.

Um zu testen, ob die Verbindung funktioniert, klicken Sie auf die Schaltfläche und überprüfen Sie die Konsole auf die Serverantwort.

Sobald Sie auf die Schaltfläche klicken, wird eine Nachricht an den Server gesendet. Der Server antwortet dann mit dem Inhalt der Nachricht und weist darauf hin, dass die Verbindung hergestellt wird.

Abschluss

Für dieses Tutorial haben wir gesehen, wie man das benutzt Python Websockets Paket zum Implementieren einer einfachen Implementierung Websocket Verbindung.