WebSocket 通信允许您在服务器和客户端之间发送和接收实时消息。 Python 以下是有关如何使用该库 实现此目的的详细指南 websockets
。
第 1 步:安装 WebSocket 库
首先, websockets
通过在以下位置运行以下命令来安装库 terminal:
pip install websockets
第2步:在服务器上发送和接收消息
下面是如何在服务器上发送和接收消息的示例 WebSocket:
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()
在代码片段中:
-
async def handle_connection(websocket, path):
:该函数处理 WebSocket 连接。 当客户端发送消息时,此函数会侦听并发回响应。 -
async for message in websocket:
:此循环通过连接侦听来自客户端的消息 WebSocket。 -
await websocket.send(f"Server received: {message}")
:该函数通过连接将服务器的响应发送回客户端 WebSocket。
第 3 步:发送和接收来自客户端的消息
以下是客户端如何从服务器发送和接收消息的示例 WebSocket:
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())
在代码片段中:
-
async with websockets.connect("ws://localhost:8765") as websocket:
:这就是客户端连接到 WebSocket 服务器的方式。localhost
客户端建立到地址和端口 的连接8765
。 -
await websocket.send("Hello, WebSocket!")
:客户端向服务器端 发送消息。Hello, WebSocket!
-
response = await websocket.recv()
:客户端等待通过连接接收服务器的响应 WebSocket。
结论
通过遵循这些步骤并理解示例的每个部分,您已经成功学习了如何通过 WebSocket in发送和接收消息 Python。 这为创建实时应用程序以及服务器和客户端之间的连续数据交换提供了可能性。