La creazione di un WebSocket server Python consente di stabilire un canale di comunicazione continuo e bidirezionale tra il server ei client. Di seguito è riportata una guida dettagliata che spiega ogni componente per costruire un WebSocket server di base utilizzando la websockets
libreria.
Passaggio 1: installare la WebSocket libreria
Per iniziare, è necessario installare la websockets
libreria eseguendo il seguente comando in terminal:
pip install websockets
Passaggio 2: creazione del WebSocket server
Ecco un esempio di come costruire un WebSocket server in 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()
Nello snippet di codice:
-
async def handle_connection(websocket, path):
: Questa funzione gestisce WebSocket le connessioni. Ogni volta che un client si connette, questa funzione viene chiamata per gestire la comunicazione. -
async for message in websocket:
: questo ciclo itera per ascoltare i messaggi dal client attraverso la WebSocket connessione. -
await websocket.send(response)
: Questa funzione invia una risposta dal server al client tramite la WebSocket connessione. -
websockets.serve(handle_connection, "localhost", 8765)
: Questa funzione crea un WebSocket server che ascolta le connessioni sull'indirizzolocalhost
e sulla porta8765
.
Passaggio 3: test del server
Dopo aver distribuito il codice del server, ascolterà le connessioni dai client sulla porta 8765. Puoi testare il server connettendoti ad esso utilizzando WebSocket il codice client o strumenti di test online.
Conclusione
Seguendo questi passaggi, hai creato con successo un semplice WebSocket server in Python. Questo server fornisce la base per la creazione di applicazioni e interazioni in tempo reale tra il server e i client utilizzando il WebSocket protocollo.