【问题标题】:Different socket.io responses from windows and linux来自 windows 和 linux 的不同 socket.io 响应
【发布时间】:2021-02-17 19:05:36
【问题描述】:

我正在使用 Flask-SocketIO,我看到来自 Windows(本地)的响应与来自 Linux(服务器)的响应不同。

请求:/socket.io/?EIO=4&transport=polling&t=NUnKB0b

Windows 响应:0{"sid":"jnUgcaCw12uCvYTqAAAF","upgrades":["websocket"],"pingTimeout":5000,"pingInterval":25000}

Linux 响应:

\u00\n00\u00\n09\uff
0{"sid":"1aaf4b61ba7942b194190bfe783792f1","upgrades":["websocket"],"pingTimeout":60000,"pingInterval":25000}
\u00\u02\u04\uff42
["message","Test ZZZ"]
\u00\u02\uff\u34\u30

不同之处在于 Linux 响应包含一条消息和一些 JSON 的二进制装饰。

为什么我会根据平台得到不同的结果,有没有办法向 Flask_SocketIO 提供提示以获得一致的结果?

【问题讨论】:

  • 只是一个猜测,但这在我看来可能是一个 unicode 解释的东西。我不确定您可以编辑什么,但如果您可以将服务器响应更改为 UTF-8,请执行此操作。如果不行,看看是否可以将其解码为标准 unicode 格式之一(UTF-16、32 等)

标签: socket.io flask-socketio


【解决方案1】:

在 Linux 服务器上升级 Flask-SocketIO 修复了 Linux 版本的消息。

感谢 Calculuswhiz 提供的 UTF-8 提示,让我接受了这个问题的答案:Problems with receiving 'utf-8' from client

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 2021-02-17
    相关资源
    最近更新 更多