Linux 上的 Websocket 客户端在 8192 字节后切断响应



我创建了一个基于 Ubuntu 14.04 的 docker 镜像,它运行一个 python websocket 客户端,从发送可变长度 JSON 编码字符串的第三方服务读取。我发现该服务运行良好,直到编码字符串长度超过 8192 字节,然后 JSON 格式不正确,因为超过 8192 字节的所有内容都被切断了。

如果我在Mac上使用完全相同的代码,我会看到数据完全按预期返回。

我 100% 确信这是我的 linux 配置的问题,但我不确定如何调试或继续前进。这可能是一个缓冲问题还是更阴险的问题?你能推荐任何调试步骤吗?

所以事实证明问题来自谷歌云SDK提供的websocket模块。它有一个错误,在 8192 字节之后它不会继续从套接字读取。这可以通过提供Hiroki Ohtani在 PYTHONPATH 上比 google cloud sdk 更早维护的websocket库来解决。

最新更新