如果你想通过threading模块或其他方法实现websockets服务端,可以使用websockets库提供的serve函数结合threading模块来实现。以下是一个示例代码:
[Python] 纯文本查看 复制代码 import websockets
import asyncio
import threading
async def echo(websocket, path):
message = '我是发送给客户Duan的信息'
await websocket.send(message)
return True
# 接收 客户Duan返回的数据
async def recv_msg(websocket, path):
while True:
# 接收
resv_text = await websocket.recv()
print(resv_text)
with open('sss.txt', 'w', encoding='utf-8') as f:
f.write(resv_text)
# 入口
async def main_run(websocket, path):
await echo(websocket, path)
await recv_msg(websocket, path)
def start_server():
asyncio.set_event_loop(asyncio.new_event_loop())
stat_sever = websockets.serve(main_run, '127.0.0.1', 9999)
print('成功建立连接')
loop = asyncio.get_event_loop()
loop.run_until_complete(stat_sever)
loop.run_forever()
# 创建一个线程来启动服务器
server_thread = threading.Thread(target=start_server)
server_thread.start()
在这个示例代码中,我们使用threading模块创建了一个新的线程来启动websockets服务器。在start_server函数中,我们创建了一个新的事件循环,并在该事件循环中运行websockets的serve函数。然后,我们使用run_until_complete方法来运行服务器,最后使用run_forever方法来保持服务器的长连接。
请注意,这只是一个示例代码,具体实现可能因你的需求和环境而有所不同。确保你已经安装了websockets库,并根据需要进行适当的调整。 |