Vysílání dat v reálném čase pomocí Pythonu WebSocket

WebSocket je technologie, která umožňuje efektivní přenos dat v reálném čase mezi serverem a klienty prostřednictvím obousměrných připojení. Zde je návod, jak používat WebSocket k vysílání dat v reálném čase ze serveru klientům v Pythonu:

Nainstalujte WebSocket knihovnu

Použijte websockets knihovnu k implementaci WebSocket serveru a klienta. Nainstalujte tuto knihovnu pomocí pip:

pip install websockets

Sestavte WebSocket server

Server WebSocket bude odesílat data v reálném čase všem připojeným klientům.

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

Sestavte WebSocket klienta

Klient WebSocket bude naslouchat a přijímat data v reálném čase ze serveru.

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

Spusťte aplikaci

Nejprve spusťte WebSocket kód serveru a poté spusťte WebSocket kód klienta. Uvidíte data v reálném čase, která jsou vysílána ze serveru a průběžně přijímána klientem.

Přizpůsobit a rozšířit

Zde můžete přizpůsobit a rozšířit svou aplikaci přidáním funkcí, jako je ověřování, filtrování dat, formátování dat a další.

Závěr:

Použití WebSocket vysílání dat v reálném čase ze serveru ke klientům v Pythonu je účinný způsob, jak vytvářet komunikační aplikace v reálném čase a využívat okamžitě aktualizovaná data.