Diffuser des données en temps réel avec Python WebSocket

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.