python - 在 python 节点之间发送大型 dict/JSON 消息的简单网络协议
问题描述
我正在构建一个 Python 3.6 应用程序,它通过网络在可用节点之间分配特定作业。有一台服务器可以构建作业。客户端连接到服务器并被分配一个作业,计算完成后它们返回完成。
作业由带有指令的 dict 对象组成,它可以变得很大(> 65536 字节,可能< 30 MB)。
在我的第一次尝试中,我使用 Twisted 库通过从twisted.internet.protocol
. self.transport.write()
另一方面,当通过回调函数使用和接收序列化对象时,dataReceived()
仅接收到 65536 个字节。可能这就是缓冲区大小。
是否有一个“简单”协议允许我在 Python 3.6 中的服务器和多个客户端之间交换更大的消息,而不会增加太多的编码开销?
提前非常感谢!
解决方案
最后我使用了websockets。它就像一个魅力,即使是大消息。
推荐阅读
- oracle - 自治数据库是否满足 HIPAA 要求?
- android - 如何解决 FolioReader 依赖问题
- javascript - TypeError:尝试制作“urban”斜杠命令时无法读取未定义的属性(读取“列表”)
- sql - 为主题插入重复行
- php - 尝试在 woocommerce Analytics -> 订单报告表中添加订单项目名称列(并输出到 csv 文件)
- ios - UIView.appearance() 代理:是否可以使用枚举作为参数传递闭包?
- javascript - 试图理解 JS 循环
- javascript - 从 JavaScript 中检索 JSESSIONID
- android - TextWatcher onTextChanged Android Kotlin 导致无限循环
- python - 存储在 Amazon S3 存储桶上的文件大小