WebSocket é uma tecnologia que permite a transmissão eficiente de dados em tempo real entre um servidor e clientes por meio de conexões bidirecionais. Aqui está um guia sobre como usar WebSocket para transmitir dados em tempo real de um servidor para clientes em Python:
Instale a WebSocket biblioteca
Use a websockets
biblioteca para implementar WebSocket servidor e cliente. Instale esta biblioteca usando pip:
pip install websockets
Construir o WebSocket servidor
O WebSocket servidor enviará dados em tempo real para todos os 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()
Crie o WebSocket cliente
O WebSocket cliente escutará e receberá dados em tempo real do 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())
Execute o aplicativo
Execute WebSocket primeiro o código do servidor e, em seguida, execute o WebSocket código do cliente. Você verá dados em tempo real sendo transmitidos do servidor e recebidos continuamente pelo cliente.
Personalizar e estender
A partir daqui, você pode personalizar e estender seu aplicativo adicionando recursos como autenticação, filtragem de dados, formatação de dados e muito mais.
Conclusão:
Usar WebSocket para transmitir dados em tempo real de um servidor para clientes em Python é uma maneira poderosa de criar aplicativos de comunicação em tempo real e experimentar dados atualizados instantaneamente.