WebSocket kommunikasjon lar deg sende og motta sanntidsmeldinger mellom en server og klienter. Her er en detaljert veiledning for hvordan du oppnår dette ved Python bruk av websockets
biblioteket.
Trinn 1: Installer WebSocket biblioteket
Installer først websockets
biblioteket ved å kjøre følgende kommando i terminal:
pip install websockets
Trinn 2: Sende og motta meldinger på serveren
Nedenfor er et eksempel på hvordan du sender og mottar meldinger på en 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()
I kodebiten:
-
async def handle_connection(websocket, path):
: Denne funksjonen håndterer WebSocket tilkoblinger. Når en klient sender en melding, lytter denne funksjonen og sender et svar tilbake. -
async for message in websocket:
: Denne sløyfen lytter etter meldinger fra klienten gjennom tilkoblingen WebSocket. -
await websocket.send(f"Server received: {message}")
: Denne funksjonen sender et svar fra serveren tilbake til klienten via tilkoblingen WebSocket.
Trinn 3: Sende og motta meldinger fra klienten
Her er et eksempel på hvordan klienten sender og mottar meldinger fra serveren 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())
I kodebiten:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Dette er hvordan klienten kobler seg til serveren WebSocket. Klienten etablerer en forbindelse tillocalhost
adressen og porten8765
. -
await websocket.send("Hello, WebSocket!")
: Klienten sender meldingen til serveren.Hello, WebSocket!
-
response = await websocket.recv()
: Klienten venter på å motta svar fra serveren via tilkoblingen WebSocket.
Konklusjon
Ved å følge trinnene og forstå hver del av eksemplet, har du lært hvordan du sender og mottar meldinger via WebSocket i Python. Dette åpner for muligheter for å lage sanntidsapplikasjoner og kontinuerlig datautveksling mellom server og klienter.