Duomenų transliavimas realiuoju laiku naudojant Python WebSocket

WebSocket yra technologija, kuri įgalina efektyvų duomenų perdavimą realiuoju laiku tarp serverio ir klientų per dvikrypčius ryšius. Štai vadovas, kaip naudoti WebSocket transliuojant duomenis realiuoju laiku iš serverio klientams Python:

Įdiekite WebSocket biblioteką

Naudokite biblioteką serveriui ir klientui websockets įdiegti. WebSocket Įdiekite šią biblioteką naudodami pip:

pip install websockets

Sukurkite WebSocket serverį

Serveris WebSocket siųs realaus laiko duomenis visiems prijungtiems klientams.

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

Sukurkite WebSocket klientą

Klientas WebSocket klausys ir gaus duomenis iš serverio realiuoju laiku.

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

Paleiskite programą

Pirmiausia paleiskite WebSocket serverio kodą, tada paleiskite WebSocket kliento kodą. Matysite duomenis, kurie realiuoju laiku transliuojami iš serverio ir nuolat gaunami kliento.

Tinkinti ir išplėsti

Čia galite tinkinti ir išplėsti programą pridėdami tokių funkcijų kaip autentifikavimas, duomenų filtravimas, duomenų formatavimas ir kt.

Išvada:

Duomenų transliavimas WebSocket realiuoju laiku iš serverio į Python klientus yra galingas būdas kurti realaus laiko komunikacijos programas ir gauti akimirksniu atnaujinamus duomenis.