python websocketapp on_message()方法不起作用

python websocketapp on_message()方法不起作用,python,node.js,websocket,Python,Node.js,Websocket,我使用python从nodejs服务器接收流数据,并使用以下python代码。 websocket假设获取实时流数据。我假设python的WebSocketApp获取流数据的唯一方法是通过on_message() 但是,尽管可以成功建立连接,但从未调用on_message()。on_open()仍被调用,ping消息已定期发送到服务器以保持心跳 我在互联网上搜索,但找不到导致on_message()失败的线索 我在本地和远程测试了连接,连接良好 导入websocket 从websocket导入创

我使用python从nodejs服务器接收流数据,并使用以下python代码。 websocket假设获取实时流数据。我假设python的WebSocketApp获取流数据的唯一方法是通过on_message()

但是,尽管可以成功建立连接,但从未调用on_message()。on_open()仍被调用,ping消息已定期发送到服务器以保持心跳

我在互联网上搜索,但找不到导致on_message()失败的线索

我在本地和远程测试了连接,连接良好

导入websocket
从websocket导入创建\u连接
导入json
尝试:
导入线程
除恐怖外:
导入线程作为线程
导入时间
def on_消息(ws,消息):
打印('on msg called')
打印(信息)
def on_错误(ws,错误):
打印(错误)
def on_关闭(ws):
时间。睡眠(1)
ws.close()
打印(“已关闭”)
def打开(ws):
def运行(*参数):
时间。睡眠(1)
打印('从运行()发送…')
发送(“{\'login\':\'login\',\'password\':\'pw\'”)
时间。睡眠(1)
尝试:
打印('接收消息…')
#result=json.load(ws.receive())
#结果=ws.recv_frame()
#result=json.load(ws.recv())
#打印(结果)
例外情况除外,如e:
打印('接收消息失败…')
打印(e)
时间。睡眠(1)
ws.close()
线程。启动新线程(运行,())
如果名称=“\uuuuu main\uuuuuuuu”:
尝试:
websocket.enableTrace(True)#显示标题部分
ws=websocket.WebSocketApp(“ws://localhost:4010”,
子目录=[“回送协议”],
on_message=on_message,
on_错误=on_错误,
开闭=开闭)
ws.on_open=on_open
ws.永远运行(ping\u间隔=0,ping\u超时=0)
除键盘中断外:
ws.close()

据信,成功检索后,信息将以json格式传回。

似乎您的代码调用了WebsockeApp类中的on_消息,而不是您代码中的on_消息。要在代码中运行on_消息,只需在代码中创建自己的类,然后将对象创建更改为

发件人:

致:


你能至少显示stacktrace或解释器在运行此代码时抛出的错误吗?你能链接你正在使用的websocket库吗?@Mobrine Hayde,没有错误。有一个日志说连接已建立,最进一步的是执行
print('receiving message…')
,然后连接保持打开,但什么也没有发生。@Tim Woocker,对于python它使用
websocket
,而nodejs它也使用
websocket
on_message = on_message
ws = websocket.WebSocketApp("ws://localhost:4010", subprotocols=["echo-protocol"], on_message = YourClassName.on_message, on_error = on_error, on_close = on_close)