Genom att bygga in en WebSocket server Python kan du skapa en kontinuerlig och dubbelriktad kommunikationskanal mellan servern och klienterna. Nedan finns en detaljerad guide som förklarar varje komponent för att bygga en grundläggande WebSocket server med hjälp av websockets
biblioteket.
Steg 1: Installera WebSocket biblioteket
För att börja måste du installera websockets
biblioteket genom att utföra följande kommando i terminal:
pip install websockets
Steg 2: Skapa WebSocket servern
Här är ett exempel på hur man bygger en WebSocket server i Python:
import asyncio
import websockets
# WebSocket connection handling function
async def handle_connection(websocket, path):
async for message in websocket:
# Process the data and send a response
response = f"Server received: {message}"
await websocket.send(response)
# 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 kodavsnittet:
-
async def handle_connection(websocket, path):
: Denna funktion hanterar WebSocket anslutningar. Varje gång en klient ansluter anropas denna funktion för att hantera kommunikationen. -
async for message in websocket:
: Denna loop itererar för att lyssna efter meddelanden från klienten genom anslutningen WebSocket. -
await websocket.send(response)
: Denna funktion skickar ett svar från servern tillbaka till klienten via anslutningen WebSocket. -
websockets.serve(handle_connection, "localhost", 8765)
: Denna funktion skapar en WebSocket server som lyssnar efter anslutningar pålocalhost
adressen och porten8765
.
Steg 3: Testa servern
Efter att ha distribuerat serverkoden kommer den att lyssna efter anslutningar från klienter på port 8765. Du kan testa servern genom att ansluta till den med WebSocket klientkod eller onlinetestverktyg.
Slutsats
Genom att följa dessa steg har du framgångsrikt byggt en enkel WebSocket server i Python. Denna server utgör grunden för att skapa realtidsapplikationer och interaktioner mellan servern och klienterna med hjälp av WebSocket protokollet.