WebSocket to technologia umożliwiająca wydajną transmisję danych w czasie rzeczywistym pomiędzy serwerem a klientami za pośrednictwem połączeń dwukierunkowych. Oto przewodnik, jak używać WebSocket do transmisji danych w czasie rzeczywistym z serwera do klientów w Pythonie:
Zainstaluj WebSocket bibliotekę
Użyj websockets
biblioteki do implementacji WebSocket serwera i klienta. Zainstaluj tę bibliotekę za pomocą pip:
pip install websockets
Zbuduj WebSocket serwer
Serwer WebSocket wyśle dane w czasie rzeczywistym do wszystkich podłączonych klientów.
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()
Zbuduj WebSocket klienta
Klient WebSocket będzie nasłuchiwał i odbierał dane w czasie rzeczywistym z serwera.
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())
Uruchom aplikację
Najpierw uruchom WebSocket kod serwera, a następnie uruchom WebSocket kod klienta. Zobaczysz, jak dane w czasie rzeczywistym są nadawane z serwera i stale odbierane przez klienta.
Dostosuj i rozszerz
W tym miejscu możesz dostosować i rozszerzyć swoją aplikację, dodając funkcje, takie jak uwierzytelnianie, filtrowanie danych, formatowanie danych i inne.
Wniosek:
Używanie WebSocket do transmisji danych w czasie rzeczywistym z serwera do klientów w Pythonie to potężny sposób na tworzenie aplikacji komunikacyjnych w czasie rzeczywistym i natychmiastowe aktualizowanie danych.