Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

Android开发之利用MQTT协议实现消息的即时推送,最近老师要求我用MQTT写一个安卓的app去连接连接老师的服务器然后传输数据,为此我特地放弃本身在开发中的融云的聊天模块跑去开发MQTT,为此特地学习了一下Xutil3,然后耗时1周途中我还有其他事情需要去做就这样我用了两周时间搞定了老师给的那个mqtt但是测试就非常麻烦了毕竟我写完app以后都是大半夜而测试在早上的话就有些麻烦,所以我就打算开始自己写一个SSM框架的登陆验证服务器与mqtt服务器。

最关键的是学校的路由器每天都会重新分配ip地址导致多数时候连接不上改来改去太麻烦还不如自己写一个。

MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, WebSockets 等多种协议。

原理: 服务器端创建一个唯一订阅号,发送者可以向这个订阅号中发东西,然后接受者(即订阅了这个订阅号的人)都会收到这个订阅号发出来的消息。以此来完成消息的推送。服务器其实是一个消息中转站。

一、安装 apache-apollo服务器

1.apache-apollo下载地址:http://activemq.apache.org/apollo/download.html

我的使用环境是windows10

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

2.下载文件目录(注意:开始看教程说直接打开bin目录下的apollo.cmd文件,闪退,原因是没有java_home环境,必须添加java环境):

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

3.安装好java的jdk,部署好java环境变量后(必须),管理员运行cmd

4.打开你的apache-apollo文件位置(使用cd apache-apollo目录打开)

5.执行命令:apollo create myapollo D:\apache-apollo\broker ,创建完broker之后D盘会出现下列文件:

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

6.进入C:\apache-apollo\broker\bin目录下,执行如下命令:apollo-broker run

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

7.执行成功后返回:

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

8.打开http://127.0.0.1:61680/,默认用户名admin, 密码password:

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

9.当前连接状态如下

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

192.168.1.191为我本地更改后的地址这个地址仅适用于局域网内部。外部后面咱们接着谈

需要进行对服务器的相关设置需要进入etc这个文件夹

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

先讲一下apollo这个文件

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

再看一下groups.properties这个文件

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建


我们再看一下users.properties这个文件

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

到这里我们就给服务器创建好了新的4个用户现在我们来测试一下mqtt服务器

下载org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64百度搜一下昨天晚上忙太晚忘记地址了。


Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

可以服务器没问题。

注意:

1.第一次打开的时候需要点击选项输入mqtt服务器的用户名和密码否则无法登陆

2.首先你需要点击加号新增一个主题

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

3.然后有订阅这个主题的用户才能收到你发布的信息

Android开发之利用MQTT协议实现消息的即时推送(1)Apache apollo服务器搭建与MQtt Client搭建

好了服务器搭好以后下面我们来做关于Android客户端的mqtt协议实现消息的即时推送

参考地址:

https://www.cnblogs.com/minyc/p/5127363.html

https://blog.csdn.net/d_o_n_g2/article/details/77161944