Emitiranje podataka u stvarnom vremenu s Pythonom WebSocket

WebSocket je tehnologija koja omogućuje učinkovit prijenos podataka u stvarnom vremenu između poslužitelja i klijenata putem dvosmjernih veza. Evo vodiča o tome kako koristiti WebSocket za emitiranje podataka u stvarnom vremenu s poslužitelja na klijente u Pythonu:

Instalirajte WebSocket biblioteku

Koristite websockets biblioteku za implementaciju WebSocket poslužitelja i klijenta. Instalirajte ovu biblioteku koristeći pip:

pip install websockets

Izgradite WebSocket poslužitelj

Poslužitelj WebSocket će poslati podatke u stvarnom vremenu svim povezanim klijentima.

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

Izgradite WebSocket klijenta

Klijent WebSocket će slušati i primati podatke u stvarnom vremenu od poslužitelja.

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

Pokrenite aplikaciju

Prvo pokrenite WebSocket kod poslužitelja, a zatim pokrenite WebSocket kod klijenta. Vidjet ćete kako se podaci u stvarnom vremenu emitiraju s poslužitelja, a klijent ih neprestano prima.

Prilagodite i proširite

Odavde možete prilagoditi i proširiti svoju aplikaciju dodavanjem značajki kao što su provjera autentičnosti, filtriranje podataka, formatiranje podataka i više.

Zaključak:

Korištenje WebSocket za emitiranje podataka u stvarnom vremenu s poslužitelja na klijente u Pythonu moćan je način za izgradnju aplikacija za komunikaciju u stvarnom vremenu i iskustvo trenutačno ažuriranih podataka.