Trasmissione di dati in tempo reale con Python WebSocket

WebSocket è una tecnologia che consente un'efficiente trasmissione di dati in tempo reale tra un server e client attraverso connessioni bidirezionali. Ecco una guida su come utilizzare WebSocket per trasmettere dati in tempo reale da un server ai client in Python:

Installa la WebSocket libreria

Utilizzare la websockets libreria per implementare WebSocket server e client. Installa questa libreria usando pip:

pip install websockets

Costruisci il WebSocket server

Il WebSocket server invierà i dati in tempo reale a tutti i client connessi.

import asyncio  
import websockets  
  
# Function to send real-time data from the server  
async def send_real_time_data(websocket, path):  
    while True:  
        real_time_data = get_real_time_data()  # Get real-time data from a source  
        await websocket.send(real_time_data)  
        await asyncio.sleep(1)  # Send data every second  
  
start_server = websockets.serve(send_real_time_data, "localhost", 8765)  
asyncio.get_event_loop().run_until_complete(start_server)  
asyncio.get_event_loop().run_forever()  

Costruisci il WebSocket cliente

Il WebSocket client ascolterà e riceverà dati in tempo reale dal server.

import asyncio  
import websockets  
  
async def receive_real_time_data():  
    async with websockets.connect("ws://localhost:8765") as websocket:  
        while True:  
            real_time_data = await websocket.recv()  
            print("Received real-time data:", real_time_data)  
  
asyncio.get_event_loop().run_until_complete(receive_real_time_data())  

Eseguire l'applicazione

Eseguire WebSocket prima il codice del server, quindi eseguire il WebSocket codice del client. Vedrai i dati in tempo reale trasmessi dal server e ricevuti continuamente dal client.

Personalizza ed estendi

Da qui, puoi personalizzare ed estendere la tua applicazione aggiungendo funzionalità come autenticazione, filtraggio dei dati, formattazione dei dati e altro ancora.

Conclusione:

Utilizzare WebSocket per trasmettere dati in tempo reale da un server ai client in Python è un modo potente per creare applicazioni di comunicazione in tempo reale e sperimentare dati aggiornati istantaneamente.