Python Twisted 在 API 上返回了大量但未知的数据

Python Twisted returning large but unknown amount of data on API

我正在开发一个 Python 应用程序,它将 return 一个 json 响应,其中包含过滤列表中的文件列表。根据过滤器的不同,响应中的字符总数可能非常大(可能超过 5000 个),因此在测试期间我得到多个 dataReceived()。

有没有办法得到响应的总大小,所以如果它结束了多次调用我知道我什么时候收到了完整的消息?

数据格式为:

{
    "files":
    [
       {
           "name": "/etc/passwd",
           "size": 1234
       }
    ]
}

你没说,我猜你是直接用twisted.internet.protocol.Protocol。这是 Twisted 为您提供的最直接的 TCP 访问。 TCP 没有您所询问的那种消息框架。如果你想要消息框架,你必须选择一个提供它的 higher-level 协议(正确的解决方案)或自己构建它(没有理由这样做 >99% 的时间)。

Twisted 有许多 higher-level 协议供您选择。我建议看看 Twisted Web 和 HTTP。