【发布时间】: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 等)