WebSocket Met communicatie kunt u real-time berichten verzenden en ontvangen tussen een server en clients. Hier is een gedetailleerde handleiding over hoe u dit kunt bereiken bij Python het gebruik van de websockets
bibliotheek.
Stap 1: installeer de WebSocket bibliotheek
Installeer eerst de websockets
bibliotheek door de volgende opdracht uit te voeren in de terminal:
pip install websockets
Stap 2: Berichten verzenden en ontvangen op de server
Hieronder ziet u een voorbeeld van het verzenden en ontvangen van berichten op een 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()
In het codefragment:
-
async def handle_connection(websocket, path):
: Deze functie handelt WebSocket verbindingen af. Wanneer een client een bericht verzendt, luistert deze functie en stuurt een antwoord terug. -
async for message in websocket:
: Deze lus luistert naar berichten van de client via de WebSocket verbinding. -
await websocket.send(f"Server received: {message}")
: Deze functie stuurt een antwoord van de server terug naar de client via de WebSocket verbinding.
Stap 3: Berichten verzenden en ontvangen van de klant
Hier is een voorbeeld van hoe de client berichten van de server verzendt en ontvangt WebSocket:
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())
In het codefragment:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Dit is hoe de client verbinding maakt met de WebSocket server. De client brengt een verbinding tot stand met hetlocalhost
adres en de poort8765
. -
await websocket.send("Hello, WebSocket!")
: De client stuurt het bericht naar de server.Hello, WebSocket!
-
response = await websocket.recv()
: De client wacht op een reactie van de server via de WebSocket verbinding.
Conclusie
Door de stappen te volgen en elk deel van het voorbeeld te begrijpen, heb je met succes geleerd hoe je berichten kunt verzenden en ontvangen via WebSocket in Python. Dit opent mogelijkheden voor het creëren van real-time applicaties en continue gegevensuitwisseling tussen server en clients.