基于Mqtt协议Paho项目实现Android消息推送
Paho项目对Mqtt协议进行了一层封装,本文通过对Paho项目的学习与修改,简单的实现Android推送功能。
服务端的部署
服务端的选择,笔者只测试过Apollo: 官网地址: 以及Mosquitto服务器: 官网地址
前者安装配置比较方便,可以在后台中直观的查看当前连接的客户端、发布、订阅的Topic以及消息,但是需要单独写一个服务端来发送消息。
后者需要安装Cygwin,相对Apollo服务器安装起来较为繁琐,但是好处之一是可以通过命令行直接发布消息。
总之,两者都是非常强大的服务器,笔者也只是刚刚入门还有很多功能需要继续探索,本文为了演示效果选择Mosquitto服务器来演示。
关于Mosquitto服务器的部署,可以参考上一篇文章,传送门。
客户端的实现
客户端的实现基于Paho项目,主要使用其中的MqttClient
类来实现与服务端的连接以及对消息的订阅。
重要的一点,在本地进行测试的时候,其中的serverURI不要使用localhost或者127.0.0.1,换成自己本机的实际i地址
因为某些原因只贴出部分关键代码进行分析:
首选需要初始化Mqt