使用 Tornado websockets 接收长消息的推荐方法是什么?

What is the recommended way to receive long messages using Tornado websockets?

我是 运行 在 Windows 10 上使用 Tornado Python 模块的 Web 服务器。我正在使用 on_message 来处理传入的消息并且它工作正常,直到需要发送更长的消息。似乎连接在 Tornado 服务器 运行 的末端被强制关闭。不过,我没有从 Tornado 应用程序中看到任何错误。但是,我确实看到 TCP 重置来自 Tornado 应用程序的套接字 运行。我想知道接收如此长的消息的推荐方式是什么,而不是将长消息作为一条巨大的消息接收。代码示例会很棒。

传入的 websocket 消息的默认限制为 10MiB。 Tornado 将不接受超过此限制的数据。

您可以通过将 websocket_max_message_size 传递给 Application 来增加此限制:

web.Application(
    # ...
    websocket_max_message_size=(20 * 1024 * 1024) # 20 MiB
)