赞
踩
尝试最简单的代码创建一个服务器并在客户端收发信息。
主要参考的是官方文档的首页:https://websockets.readthedocs.io/
(还需要 asyncio 库的一些知识,可见之前的博客 翻译《使用asyncio的一个指南》作者:Andrew Crozier)
注意,如果还未安装的话,需要使用pip install websockets
来安装
作为测试,代码将对服务器发送1~19数字,而服务器接收到后会返回它是否能被3整除。
服务器 MyTestServer.py 代码如下:
import asyncio import websockets #接收到信息时: async def echo(websocket): async for message in websocket: #显示收到的信息 print("server recieve: " + message) #返回这个数字是否能被3除尽 await websocket.send(str(int(message)%3==0)) async def main(): #建立服务器: async with websockets.serve(echo, "localhost", 8765): await asyncio.Future() # run forever asyncio.run(main())
websockets.serve
以localhost为主机的8765 端口创建服务器,并且指定当收到信息时会调用名为 echo 的函数。websocket.send
发送信息。客户端 MyTestClient.py 的代码如下:
import asyncio
import websockets
async def main():
#连接上服务器:
async with websockets.connect("ws://localhost:8765") as websocket:
#发送0~19数字,并显示收到的信息:
for i in range(20):
await websocket.send(str(i))
message = await websocket.recv()
print(message)
asyncio.run(main())
websockets.connect
连接服务器。websocket.send
发送信息websocket.recv
接收信息Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。