Transmisión de datos en tiempo real con Python WebSocket

WebSocket es una tecnología que permite la transmisión eficiente de datos en tiempo real entre un servidor y clientes a través de conexiones bidireccionales. Aquí hay una guía sobre cómo usar WebSocket para transmitir datos en tiempo real desde un servidor a clientes en Python:

Instalar la WebSocket biblioteca

Utilice la websockets biblioteca para implementar WebSocket el servidor y el cliente. Instale esta biblioteca usando pip:

pip install websockets

Construir el WebSocket servidor

El WebSocket servidor enviará datos en tiempo real a todos los clientes conectados.

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

Construir el WebSocket cliente

El WebSocket cliente escuchará y recibirá datos en tiempo real del servidor.

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

Ejecute la aplicación

Ejecute WebSocket primero el código del servidor, luego ejecute el WebSocket código del cliente. Verá que los datos en tiempo real se transmiten desde el servidor y el cliente los recibe continuamente.

Personaliza y amplía

Desde aquí, puede personalizar y ampliar su aplicación agregando características como autenticación, filtrado de datos, formateo de datos y más.

Conclusión:

Usar WebSocket para transmitir datos en tiempo real desde un servidor a clientes en Python es una forma poderosa de crear aplicaciones de comunicación en tiempo real y experimentar datos actualizados al instante.