Передача данных в реальном времени с помощью Python WebSocket

WebSocket — это технология, обеспечивающая эффективную передачу данных в режиме реального времени между сервером и клиентами через двунаправленные соединения. Вот руководство о том, как использовать WebSocket для передачи данных в реальном времени с сервера клиентам в Python:

Установите WebSocket библиотеку

Используйте websockets библиотеку для реализации WebSocket сервера и клиента. Установите эту библиотеку с помощью pip:

pip install websockets

Создайте WebSocket сервер

Сервер WebSocket будет отправлять данные в режиме реального времени всем подключенным клиентам.

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

Создайте WebSocket клиент

Клиент WebSocket будет слушать и получать данные в реальном времени с сервера.

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

Запустите приложение

Сначала запустите WebSocket код сервера, затем запустите WebSocket код клиента. Вы увидите, как данные в реальном времени транслируются с сервера и постоянно принимаются клиентом.

Настроить и расширить

Отсюда вы можете настроить и расширить свое приложение, добавив такие функции, как аутентификация, фильтрация данных, форматирование данных и многое другое.

Заключение:

Использование WebSocket Python для передачи данных в реальном времени с сервера клиентам — это мощный способ создания приложений для связи в реальном времени и получения мгновенно обновляемых данных.