代码改变世界

apollo实现c#与android消息推送(二)

2017-10-03 13:31  一截生长  阅读(1526)  评论(0编辑  收藏  举报

     安装完成apache apollo后,org.eclipse.paho是很方便的测试软件,下来介绍paho的安装和使用

    2. 搭建paho:

       a 下载 org.eclipse.paho.ui.app-1.0.0-win32.win32.x86_64,解压并打开paho.exe,进入paho页面。

        

       b  paho分为三部分,左边设置服务器,中间是服务器的配置,右边是消息显示列表,点击左边的服务器mqttTest会出现中间的配置列表,服务器地址输入上一节配置好的apache apollo的tcp地址tcp://0.0.0.0:61613或者tcp://127.0.0.1:61613。客户机标识是apache apollo代理服务器识别身份的标识符,不重复即可。点击连接,显示已连接即可。

            备注:订阅和发布是消息推送的基本模式,在paho中发布中选择主题,本例中主题为test,所有订阅了该主题的客户端都可以接受发布的信息,同理paho中的订阅反之。介绍一下服务质量

            至多一次:

           这个设置时推送消息给Client,可靠性最低的一种。那broker就不会返回结果码,告诉你他收到消息了,也不会在失败后尝试重发。这有点像不可靠消息,如JMS。
           至少一次

          该设置会确保消息会被至少一次推送到Client。如果推送设置为至少推送一次,Apollo会返回一个回调函数,确保代理已经收到消息,而且确保会确保推送该消息。如果在指定的时间内没有收到回复,Client会希望重新发布这个消息。所以可能存在这种情况:代理收到一个需要推送的消息,然后又收到一个消息推送到同一个Client。所以如果传输过程中PUBACK丢失,Client会重新发送,而且不会去检测是否是重发,broker就将消息发送到订阅主题中。
          刚好一次
          该设置是可靠等级最高的。他会确保发布者不仅仅会推送,而且不会像至少一次那样,会被接收两次。当然这个设置会增加网络的负载。

       c  可以在之前的apache apollo的网页端看看连接状态。 apollo实现c#与android消息推送(三)