在python节点之间发送大型dict/JSON消息的简单网络协议

问题描述

我正在构建一个 Python 3.6 应用程序,它通过网络在可用节点之间分配特定作业。有一台用于构建作业的服务器。客户端连接到服务器并被分配一个作业,它们在计算完成后作为完成返回。

一个作业由一个带有指令的 dict 对象组成,它可能会变得很大(> 65536 字节,可能

在我的第一次尝试中,我使用 Twisted 库通过派生自 twisted.internet.protocol 的基本协议交换消息。当使用 self.transport.write() 发送序列化对象并通过回调函数 dataReceived() 接收它时,仅接收 65536 字节。可能这就是缓冲区大小。

是否有一个“简单”的协议允许我在 Python 3.6 中的服务器和多个客户端之间交换更大的消息,而不会增加太多的编码开销?

非常感谢!

解决方法

最后我使用了 websockets。即使对于大型邮件,它也能发挥魅力。