alion_tuo 2015-11-10 07:14 采纳率: 0%
浏览 10999

mqtt 是否能推送数据给多个客户端数据,一次多推。

如题所说,遇到一个bug
W/System.err( 1904): Client is not connected (32104)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.internal.ClientComms.internalSend(ClientComms.java:101)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.internal.ClientComms.sendAndWait(ClientComms.java:111)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.MqttClient.subscribe(MqttClient.java:588)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.MqttClient.subscribe(MqttClient.java:482)
W/System.err( 1904): at de.eclipsemagazin.mqtt.push.MQTTService$1.handleMessage(MQTTService.java:45)
W/System.err( 1904): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err( 1904): at android.os.Looper.loop(Looper.java:136)
W/System.err( 1904): at android.app.ActivityThread.main(ActivityThread.java:5017)
W/System.err( 1904): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 1904): at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 1904): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
W/System.err( 1904): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
W/System.err( 1904): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 1904): Timed out waiting for a response from the server (32000)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:27)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:162)
W/System.err( 1904): at org.eclipse.paho.client.mqttv3.MqttClient.connect(MqttClient.java:339)
W/System.err( 1904): at de.eclipsemagazin.mqtt.push.MQTTService$3.run(MQTTService.java:111)
W/System.err( 1904): at java.lang.Thread.run(Thread.java:841)
D/dalvikvm( 599): GC_CONCURRENT freed 874K, 19% free 4489K/5488K, paused 27ms+5ms, total 84ms

  • 写回答

1条回答

  • yunbaIO 2016-12-05 06:37
    关注

    你指的一次多推是指一对多的消息发送情况吗?

    我们 云巴 也是基于MQTT协议实现的实时通信系统,消息推送是我们其中的一项产品服务。

    在消息推送机制方面,我们支持频道(Topic)和别名(Alias)两种消息发布方式,通过频道(Topic)可以进行『一对多』的消息发布,而通过别名(Alias)可以进行『一对一』的消息发布。

    通过“频道”进行一对多的消息发布

    比如**A、B、C**订阅了**Topic a**,此时**D**向**Topic a**发送了一条消息,那么**A、B、C**都会收到这一条消息。

    顺便讲下一对一的推送:

    通过“别名”进行一对一通信

    比如**A**设置自己的别名为**『a』**,**B**设置自己的别名为**『b』**,那么**A**给一个叫**『b』**的别名发送消息的时候,**B**就收到了消息。

    消息的长连接方面:

    Android SDK 会启动一个后台的 Service,创建并保持到云巴服务器的长连接,

    一方面,云巴的服务器会负责向苹果的服务器发送 APNs 的消息; 另一方面,当应用在前台运行时,云巴会通过与 App 建立的长连接,直接推送内部消息。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog