WebSocket A comunicação permite enviar e receber mensagens em tempo real entre um servidor e clientes. Aqui está um guia detalhado sobre como conseguir isso usando Python a websockets
biblioteca.
Etapa 1: instalar a WebSocket biblioteca
Primeiro, instale a websockets
biblioteca executando o seguinte comando no terminal:
pip install websockets
Etapa 2: Enviando e recebendo mensagens no servidor
Abaixo está um exemplo de como enviar e receber mensagens em um WebSocket servidor:
import asyncio
import websockets
# WebSocket connection handling function
async def handle_connection(websocket, path):
async for message in websocket:
await websocket.send(f"Server received: {message}")
# Initialize the WebSocket server
start_server = websockets.serve(handle_connection, "localhost", 8765)
# Run the server within the event loop
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
No trecho de código:
-
async def handle_connection(websocket, path):
: Esta função lida com WebSocket conexões. Quando um cliente envia uma mensagem, esta função escuta e envia uma resposta de volta. -
async for message in websocket:
: Este loop escuta as mensagens do cliente por meio da WebSocket conexão. -
await websocket.send(f"Server received: {message}")
: Esta função envia uma resposta do servidor de volta ao cliente por meio da WebSocket conexão.
Etapa 3: Enviando e recebendo mensagens do cliente
Veja um exemplo de como o cliente envia e recebe mensagens do WebSocket servidor:
import asyncio
import websockets
async def send_and_receive():
async with websockets.connect("ws://localhost:8765") as websocket:
await websocket.send("Hello, WebSocket!")
response = await websocket.recv()
print("Received:", response)
asyncio.get_event_loop().run_until_complete(send_and_receive())
No trecho de código:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: é assim que o cliente se conecta ao WebSocket servidor. O cliente estabelece uma conexão com olocalhost
endereço e a porta8765
. -
await websocket.send("Hello, WebSocket!")
: O cliente envia a mensagem para o servidor.Hello, WebSocket!
-
response = await websocket.recv()
: O cliente espera receber uma resposta do servidor via WebSocket conexão.
Conclusão
Seguindo as etapas e entendendo cada parte do exemplo, você aprendeu com sucesso como enviar e receber mensagens WebSocket via Python. Isso abre possibilidades para a criação de aplicações em tempo real e troca contínua de dados entre servidor e clientes.