为了账号安全,请及时绑定邮箱和手机立即绑定

Python网页口袋,总是监听消息,偶尔发送由另一个函数调用的消息

Python网页口袋,总是监听消息,偶尔发送由另一个函数调用的消息

慕后森 2022-09-13 17:39:21
我已经坚持了一段时间,希望有人能有所了解!我想在浏览器中的JavaScript和Python函数(当前使用网络密码模块)之间建立一个网络平台连接。Python 函数应始终用于浏览器发送的消息listen()有时我想从外部脚本或函数向浏览器发送消息,例如通过调用函数speak()这是我目前的代码:listenasync def listen(self, websocket, path):    while True:        need_update = await websocket.recv()        print(f'< {need_update}')start_server = websockets.serve(listen(), 'localhost', 8765)asyncio.get_event_loop().run_until_complete(start_server)asyncio.get_event_loop().run_forever()speakasync def speak(data):    async with websockets.connect('ws://localhost:8765') as websocket:        await websocket.send(data)        print(f'> {data}')asyncio.get_event_loop().run_until_complete(speak(input("? ")))使用此方法,该函数只会将消息发送到 Python 函数,JavaScript 代码不会收到任何内容。speaklisten相反,我可以同时启动这两个函数,但不能从外部函数调用。asyncio.gather(...)speak真的不知道如何解决这个问题。
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

我从来没有设法解决这个问题,但是切换到 socket.io 库解决了我遇到的问题。


查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号