WebSocket Mit der Kommunikation können Sie Echtzeitnachrichten zwischen einem Server und Clients senden und empfangen. Hier finden Sie eine detaillierte Anleitung, wie Sie dies bei der Python Verwendung der websockets
Bibliothek erreichen können.
Schritt 1: Installieren Sie die WebSocket Bibliothek
Installieren Sie zunächst die websockets
Bibliothek, indem Sie den folgenden Befehl ausführen terminal:
pip install websockets
Schritt 2: Senden und Empfangen von Nachrichten auf dem Server
Nachfolgend finden Sie ein Beispiel für das Senden und Empfangen von Nachrichten auf einem WebSocket Server:
import asyncio
import websockets
# WebSocket connection handling function
async def handle_connection(websocket, path):
async for message in websocket:
await websocket.send(f"Server received: {message}")
# Initialize the WebSocket server
start_server = websockets.serve(handle_connection, "localhost", 8765)
# Run the server within the event loop
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
Im Codeausschnitt:
-
async def handle_connection(websocket, path):
: Diese Funktion verarbeitet WebSocket Verbindungen. Wenn ein Client eine Nachricht sendet, hört diese Funktion zu und sendet eine Antwort zurück. -
async for message in websocket:
: Diese Schleife lauscht über die Verbindung auf Nachrichten vom Client WebSocket. -
await websocket.send(f"Server received: {message}")
: Diese Funktion sendet eine Antwort vom Server über die WebSocket Verbindung zurück an den Client.
Schritt 3: Senden und Empfangen von Nachrichten vom Client
Hier ist ein Beispiel dafür, wie der Client Nachrichten vom WebSocket Server sendet und empfängt:
import asyncio
import websockets
async def send_and_receive():
async with websockets.connect("ws://localhost:8765") as websocket:
await websocket.send("Hello, WebSocket!")
response = await websocket.recv()
print("Received:", response)
asyncio.get_event_loop().run_until_complete(send_and_receive())
Im Codeausschnitt:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Auf diese Weise verbindet sich der Client mit dem WebSocket Server. Der Client stellt eine Verbindung zurlocalhost
Adresse und zum Port her8765
. -
await websocket.send("Hello, WebSocket!")
: Der Client sendet die Nachricht an den Server.Hello, WebSocket!
-
response = await websocket.recv()
: Der Client wartet darauf, über die Verbindung eine Antwort vom Server zu erhalten WebSocket.
Abschluss
Indem Sie die Schritte befolgen und jeden Teil des Beispiels verstehen, haben Sie erfolgreich gelernt, wie Sie Nachrichten über WebSocket in senden und empfangen Python. Dies eröffnet Möglichkeiten zur Erstellung von Echtzeitanwendungen und zum kontinuierlichen Datenaustausch zwischen Server und Clients.