Transmisja danych w czasie rzeczywistym za pomocą Pythona WebSocket

WebSocket to technologia umożliwiająca wydajną transmisję danych w czasie rzeczywistym pomiędzy serwerem a klientami za pośrednictwem połączeń dwukierunkowych. Oto przewodnik, jak używać WebSocket do transmisji danych w czasie rzeczywistym z serwera do klientów w Pythonie:

Zainstaluj WebSocket bibliotekę

Użyj websockets biblioteki do implementacji WebSocket serwera i klienta. Zainstaluj tę bibliotekę za pomocą pip:

pip install websockets

Zbuduj WebSocket serwer

Serwer WebSocket wyśle ​​dane w czasie rzeczywistym do wszystkich podłączonych klientów.

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

Zbuduj WebSocket klienta

Klient WebSocket będzie nasłuchiwał i odbierał dane w czasie rzeczywistym z serwera.

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

Uruchom aplikację

Najpierw uruchom WebSocket kod serwera, a następnie uruchom WebSocket kod klienta. Zobaczysz, jak dane w czasie rzeczywistym są nadawane z serwera i stale odbierane przez klienta.

Dostosuj i rozszerz

W tym miejscu możesz dostosować i rozszerzyć swoją aplikację, dodając funkcje, takie jak uwierzytelnianie, filtrowanie danych, formatowanie danych i inne.

Wniosek:

Używanie WebSocket do transmisji danych w czasie rzeczywistym z serwera do klientów w Pythonie to potężny sposób na tworzenie aplikacji komunikacyjnych w czasie rzeczywistym i natychmiastowe aktualizowanie danych.