python 协程实现websoket客户端并发
时间: 2023-12-29 21:02:29 浏览: 151
onlinechattest
使用 Python 的协程和异步框架可以实现 WebSocket 客户端的并发。
下面是一个使用 asyncio 和 websockets 模块实现的 WebSocket 客户端并发的示例代码:
```python
import asyncio
import websockets
async def websocket_client(uri):
async with websockets.connect(uri) as websocket:
# 发送和接收消息
await websocket.send('Hello, WebSocket server!')
response = await websocket.recv()
print(f'Response from server: {response}')
# 创建多个协程实例,同时运行
async def main():
tasks = []
for i in range(10):
task = asyncio.create_task(websocket_client('ws://localhost:8000'))
tasks.append(task)
await asyncio.gather(*tasks)
asyncio.run(main())
```
在上面的代码中,`websocket_client` 函数是一个协程,用于连接到 WebSocket 服务器并发送和接收消息。`main` 函数创建多个协程实例,并使用 `asyncio.gather` 同时运行这些协程。
使用 asyncio 和 websockets 模块可以方便地实现 WebSocket 客户端并发。
阅读全文