node.js - 如何使用 python-socketio 使用从 node.js 服务器发送到 python 脚本客户端的值?

标签 node.js python-3.x socket.io python-socketio

我使用node.js服务器将数据发送到python客户端。 Python 的控制台显示接收数据良好,但我在文档中找不到在 Python 客户端中使用它们的方法。

在 Python 的脚本控制台中:

engineio.client - INFO - Received packet MESSAGE data 2/flowRecognizedFairy,["myevent",{"spoken":"i'm speaking now"}]

我尝试了 the API Documentation 中找到的几个示例!.

@sio.event
def message(data):
    print('I received a message!')

@sio.on('my message')
def on_message(data):
    print('I received a message!')

@sio.event
async def message(data):
    print('I received a message!')

我无法在控制台中打印任何内容。以下代码有效:

@sio.on('connect')
def on_connect():
    print('--> connection established')


@sio.on('disconnect')
def on_disconnect():
    print('--> disconnected from server')

没有错误消息。我期望首先使用 print 函数打印接收数据,并将它们与 python 脚本中的其他函数一起使用。

有什么技巧或想法吗?

最佳答案

您的服务器正在名为 /flowRecognizedFairy 的命名空间上发出消息。您的处理程序应设置为使用该 namespace 。

@sio.on('connect', namespace='/flowRecognizedFairy')
def on_connect():
    print('--> connection established')

@sio.on('disconnect', namespace='/flowRecognizedFairy')
def on_disconnect():
    print('--> disconnected from server')

@sio.event(namespace='/flowRecognizedFairy')
def message(data):
    print('I received a message!')

@sio.on('my message', namespace='/flowRecognizedFairy')
def on_message(data):
    print('I received a message!')

@sio.event(namespace='/flowRecognizedFairy')
async def message(data):
    print('I received a message!')

关于node.js - 如何使用 python-socketio 使用从 node.js 服务器发送到 python 脚本客户端的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777831/

相关文章:

python - 为什么即使格式匹配,Python 日期时间也会失败 {Date}2016-11-22T11 :49:21. 826-05:00

javascript - 在 Node.js 服务器和浏览器之间共享二进制缓冲区

mysql - socket.io mysql 两个and子句

javascript - 如何使用nodejs按键?

node.js - 如何使用 SSL 从 Node js 连接到 mongodb 副本集

python - 是否可以根据 if 条件对列表进行切片

node.js - 如何使用 SSL 域运行 NODE.JS (Socket.io) - CENTOS 7?

javascript - 使用 RequireJS 优化后需要优化的模块

javascript - 使用node.js在javascript服务器中运行html

python-3.x - 我用 python 3 编码的服务器不会向所有用户发送消息