WebSocket ist eine Technologie, die eine effiziente Echtzeit-Datenübertragung zwischen einem Server und Clients über bidirektionale Verbindungen ermöglicht. Hier finden Sie eine Anleitung zur WebSocket Übertragung von Echtzeitdaten von einem Server an Clients in Python:
Installieren Sie die WebSocket Bibliothek
Verwenden Sie die websockets
Bibliothek, um WebSocket Server und Client zu implementieren. Installieren Sie diese Bibliothek mit pip:
pip install websockets
Erstellen Sie den WebSocket Server
Der WebSocket Server sendet Echtzeitdaten an alle verbundenen Clients.
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()
Erstellen Sie den WebSocket Client
Der WebSocket Client hört zu und empfängt Echtzeitdaten vom Server.
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())
Führen Sie die Anwendung aus
Führen Sie zuerst den WebSocket Servercode und dann den WebSocket Clientcode aus. Sie werden sehen, wie Echtzeitdaten vom Server gesendet und kontinuierlich vom Client empfangen werden.
Anpassen und Erweitern
Von hier aus können Sie Ihre Anwendung anpassen und erweitern, indem Sie Funktionen wie Authentifizierung, Datenfilterung, Datenformatierung und mehr hinzufügen.
Abschluss:
Die Übertragung WebSocket von Echtzeitdaten von einem Server an Clients in Python ist eine leistungsstarke Möglichkeit, Echtzeit-Kommunikationsanwendungen zu erstellen und sofort aktualisierte Daten zu erleben.