@H_404_1@我有一个iOS应用程序使用
STOMP Client与
RabbitMQ通信.应用程序在启动期间加载了很多状态,然后通过接收在STOMP上发布的更新来保持该状态同步.当然,如果它失去连接,它就不能再确定它是否同步,因此必须重新加载那个大的初始blob.任何类型的网络中断都会触发此行为并使我的客户感到悲伤.
有很多重要的方法可以解决这个问题(我正在研究它们),但与此同时,我正在尝试使用持久性队列来解决这个问题.这个想法是服务器将创建一个队列,将其绑定到适当的主题,然后开始构建大型启动包.完成后,它会将所有内容交给客户端.客户端将使用启动包进行自我设置,打开对队列的订阅,然后处理服务器准备就绪时发生的任何更新.同样,如果客户端应该断开连接,它只需重新连接并继续读取它在队列中找到的消息.
我的问题是,当客户端成功接收连接后发送的消息时,如果在连接之前队列中有任何消息,则不会读取它们.同样,如果客户端断开连接,当它重新连接时,它将不会看到任何消息在它离开时到达.
任何人都可以建议我如何让客户端能够阅读那些丢失的消息?