我正在制作一个 XMPP 客户端,我想要接收到的消息是否有一些计时器或内存缓存,因为我向我的客户端发送了 1000 条消息,而服务器发送了 1000 条消息,但我的客户端只收到 300 条消息。
可能的解决方案:...克服这些限制
每次 HTTP 都有“修复”XMPP 的解决方案。
前两个限制可以通过运行 WebDAV 服务器来修复。上传到 WebDAV 服务器,分享链接。这是每个人都可以在没有 XMPP 客户端支持的情况下完成的解决方案。当然,通过客户端和服务器支持以及签名 URL(à la S3)透明地做到这一点将大大改善该过程。
对于连接的套接字问题,有 BOSH。这基本上是通过 HTTP 运行 XMPP。额外的好处是让服务器保持“连接”几分钟——这解决了我的 iPhone 问题。一旦我在两分钟的窗口中重新启动客户端,所有待处理的消息都会被传递。