Difuzarea datelor în timp real cu Python WebSocket

WebSocket este o tehnologie care permite transmiterea eficientă a datelor în timp real între un server și clienți prin conexiuni bidirecționale. Iată un ghid despre cum să utilizați WebSocket pentru a difuza date în timp real de la un server către clienți în Python:

Instalați WebSocket Biblioteca

Utilizați websockets biblioteca pentru a implementa WebSocket server și client. Instalați această bibliotecă folosind pip:

pip install websockets

Construiți WebSocket serverul

Serverul WebSocket va trimite date în timp real tuturor clienților conectați.

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()  

Construiți WebSocket Clientul

Clientul WebSocket va asculta și va primi date în timp real de la 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())  

Rulați aplicația

Rulați WebSocket mai întâi codul serverului, apoi executați WebSocket codul client. Veți vedea date în timp real difuzate de pe server și primite continuu de către client.

Personalizați și extindeți

De aici, vă puteți personaliza și extinde aplicația adăugând funcții precum autentificarea, filtrarea datelor, formatarea datelor și multe altele.

Concluzie:

Utilizarea WebSocket pentru a difuza date în timp real de la un server către clienți în Python este o modalitate puternică de a construi aplicații de comunicare în timp real și de a experimenta datele actualizate instantaneu.