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

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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘