gpt4 book ai didi

带有 apollo 的 android mqtt-client-1.5 监听器

转载 作者:行者123 更新时间:2023-11-30 03:22:06 34 4
gpt4 key购买 nike

https://github.com/fusesource/mqtt-client

我有一个启动后台服务的 Android 应用程序,我在其中启动了一个指向 apollo 代理的 mqtt 连接。当调用 startService 时,我从 onStartCommand 设置主机名、端口用户名、密码等启动 MQTT。后跟

connection = mqtt.callbackConnection();

连接成功,我可以清楚地看到我的主题“uniqueId”上有一个消费者。

但是当我向我的主题发送消息时,监听器从不调用 onPublish.. 另一个奇怪的情况是,如果我失去与代理的连接,例如我关闭了代理,以便 Activity 连接断开,当 mqtt-client 重新连接时,它似乎调用了监听器和 onPublish,因为然后我在我的持久订阅者主题上堆叠的所有消息都被传递了。我在这里是否遗漏了任何关于监听器的信息?

是不是应该因为connection.subscribe而主动消费topic??

Topic[] topics = { new Topic("uniqueId", QoS.AT_LEAST_ONCE) };
connection.subscribe(topics, new Callback<byte[]>() {
public void onSuccess(byte[] qoses) {
}
public void onFailure(Throwable value) {
value.printStackTrace();
}
});

connection.listener(new Listener() {
@Override
public void onConnected() {
}
@Override
public void onDisconnected() {
}
@Override
public void onFailure(Throwable value) {
}
@Override
public void onPublish(UTF8Buffer topic, Buffer payload, Runnable ack) {
ack.run();
}
});

最佳答案

我不熟悉 Apollo,但我同意这种行为听起来不正确。您可以尝试针对另一个代理进行测试,看看它是否按预期工作,然后在必要时针对 Apollo 提交错误。

您可以使用例如test.mosquitto.org:1883 进行测试,或使用 mqtt.org/software 上列出的其他公共(public)之一

关于带有 apollo 的 android mqtt-client-1.5 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18946356/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com