【发布时间】:2015-08-25 11:55:01
【问题描述】:
我正在开发一个数据关键型移动应用程序来向服务器发送消息。 为了利用 MQTT 的轻量级特性,将 KEEP_ALIVE_INTERVAL 保持在最大 > 60 秒。但我想确保无论如何都传递数据包。目前我使用 Eclipse PAHO java 库。
paho 究竟如何根据令牌处理 QoS1/2 中的发布?超时是否可配置,重试策略是什么?
我已经尝试过直接的方式,但鉴于我的数据生产者每秒产生 1 条消息,如果待处理的令牌开始堆积,MQTT 客户端就会耗尽,我必须更快地检测到任何滞后和连接丢失,直到正在传送的数据包使新生成的数据保持静止。 任何帮助将不胜感激!
谢谢。
【问题讨论】:
-
你能找到答案吗?我正在开发一个非常相似的 Android/Mqtt 消息传递项目。您有兴趣合作吗?
-
@BaradiBaradari 不,我找不到合理的答案。是的,我想进一步讨论这个问题..
-
给我发一封电子邮件(在我的个人资料上)让我们讨论一下
-
如果可能的话,也抄送我
-
@david 到目前为止我所知道的是 paho java / android 客户端不允许离线消息发布,即即使客户端未连接到服务器也发布消息。但是对于 QOS>0 有一种称为飞行中消息的东西,当您尝试将消息发布到断开连接的服务器时会发生这种情况,但客户端尚未注册断开连接,因此理想情况下消息会丢失,在此飞行限制之后超出将引发异常,并且在传递中的消息或失败之前,您无法进一步发布。