通过 websocket 失败的 DDP 消息

DDP message over websocket failure

我目前正在开发一个通过 websocket 向 Meteor 服务器发送消息的 C 应用程序。 我正在使用 jansson for JSON conversion and nopoll 作为 websocket 库。

除了我尝试发送非常大的消息(大约 15 000 000 个字符)之外,两种方式(发送/接收)都工作正常。我认为(我不确定)消息已发送到服务器,因此 nopoll 库不应该是问题的根源。但是,我确信 Meteor 没有按他应该的方式处理该消息,因为该方法 (RPC) 从未被调用过。

我发现 websocket 限制等于 64 位无符号值的最大值,所以这不应该是问题所在。

另一方面,即使在 DDP specification 中,我也没有找到 DDP 消息的最大长度。

您是否知道 DDP 限制或其他我没有想到的参数?

由于我正在研究客户端和服务器在同一台机器上的体系结构,因此我不受网络的限制。我想我推送的信息太多太快了,而且套接字充满了数据。

解决方案很简单:按照 LP 的建议将数据分成几个片段并实施流量控制。

我还发现 Mongo C driver 可能是另一种解决方案,因为我应该能够按照 Mikkel 的建议将数据直接推送到数据库。

谢谢你们的帮助。