Kringkaster sanntidsdata med Python WebSocket

WebSocket er en teknologi som muliggjør effektiv sanntidsdataoverføring mellom en server og klienter gjennom toveisforbindelser. Her er en guide for hvordan du bruker WebSocket for å kringkaste sanntidsdata fra en server til klienter i Python:

Installer WebSocket biblioteket

Bruk websockets biblioteket til å implementere WebSocket server og klient. Installer dette biblioteket med pip:

pip install websockets

Bygg WebSocket serveren

Serveren WebSocket vil sende sanntidsdata til alle tilkoblede klienter.

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

Bygg WebSocket klienten

Klienten WebSocket vil lytte og motta sanntidsdata fra serveren.

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

Kjør applikasjonen

Kjør WebSocket serverkoden først, og kjør deretter klientkoden WebSocket. Du vil se sanntidsdata som kringkastes fra serveren og mottas kontinuerlig av klienten.

Tilpass og utvide

Herfra kan du tilpasse og utvide applikasjonen din ved å legge til funksjoner som autentisering, datafiltrering, dataformatering og mer.

Konklusjon:

Å bruke WebSocket til å kringkaste sanntidsdata fra en server til klienter i Python er en kraftig måte å bygge sanntidskommunikasjonsapplikasjoner og oppleve øyeblikkelig oppdaterte data.