python的websockets库
安装 pip install websockets
分为客户端和服务端两部分
服务端一般与异步的库一起用 因为服务端不可能只服务一个客户 所以要用异步处理多个客户
以asyncio示例
from websockets.server import serve import websockets import asyncio async def start(ws,path): # 第一个参数是websocket对象 第二个基本用不到 可以不写 后面回调这个函数的时候 参数会自动传 clickMsg = await ws.recv() # 接收客户端的消息。几个常用的方法 send() 发送数据 close() 关闭连接 await的作用是挂起当前任务 等待后面的代码执行完成 这之间软件会去执行其他异步任务 print(clickMsg) # 打印客户端发送的数据 await ws.send('ok') # 发送ok到客户端 await ws.close() async def wsmain(): # websocket主函数 async with serve(start,'0.0.0.0',12333): # 解释 with serve 开启监听 第一个参数是连接后要执行的函数 第二个是监听的地址 0.0.0.0 表示所有地址 也可以写本机公网ip 第三个参数是监听的端口 while 1: # 解释 后面要执行这个函数 如果不加这个 执行完监听就结束了 加这个死循环是要一直监听 不让服务关闭 asyncio.sleep(1) asyncio.run(wsmain()) # 运行
客户端
from websockets.sync.client import connect def hi(): with connect('ws://localhost:12333') as ws: ws.send('connect') serverMessage = ws.recv() print(serverMessage) hi()