WebSocket est une technologie qui permet une transmission de données efficace en temps réel entre un serveur et des clients via des connexions bidirectionnelles. Voici un guide sur la façon d'utiliser WebSocket pour diffuser des données en temps réel d'un serveur vers des clients en Python :
Installer la WebSocket bibliothèque
Utilisez la websockets
bibliothèque pour implémenter WebSocket le serveur et le client. Installez cette bibliothèque à l'aide de pip :
pip install websockets
Construire le WebSocket serveur
Le WebSocket serveur enverra des données en temps réel à tous les clients connectés.
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()
Créer le WebSocket client
Le WebSocket client écoutera et recevra des données en temps réel du serveur.
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())
Exécutez l'application
Exécutez WebSocket d'abord le code serveur, puis exécutez le WebSocket code client. Vous verrez des données en temps réel diffusées depuis le serveur et reçues en continu par le client.
Personnalisez et étendez
À partir de là, vous pouvez personnaliser et étendre votre application en ajoutant des fonctionnalités telles que l'authentification, le filtrage des données, le formatage des données, etc.
Conclusion:
L'utilisation WebSocket de Python pour diffuser des données en temps réel d'un serveur à des clients est un moyen puissant de créer des applications de communication en temps réel et de bénéficier de données mises à jour instantanément.