Udsendelse af realtidsdata med Python WebSocket

WebSocket er en teknologi, der muliggør effektiv datatransmission i realtid mellem en server og klienter gennem tovejsforbindelser. Her er en guide til, hvordan du bruger WebSocket til at udsende realtidsdata fra en server til klienter i Python:

Installer WebSocket biblioteket

Brug websockets biblioteket til at implementere WebSocket server og klient. Installer dette bibliotek ved hjælp af pip:

pip install websockets

Byg WebSocket serveren

Serveren WebSocket sender realtidsdata til alle tilsluttede 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()  

Byg WebSocket kunden

Klienten WebSocket vil lytte og modtage realtidsdata 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())  

Kør applikationen

Kør WebSocket først serverkoden, og kør derefter klientkoden WebSocket. Du vil se realtidsdata blive udsendt fra serveren og løbende modtaget af klienten.

Tilpas og udvid

Herfra kan du tilpasse og udvide din applikation ved at tilføje funktioner såsom godkendelse, datafiltrering, dataformatering og mere.

Konklusion:

Brug WebSocket til at udsende realtidsdata fra en server til klienter i Python er en effektiv måde at bygge realtidskommunikationsapplikationer på og opleve øjeblikkeligt opdaterede data.