概述:

Message Queuing Telemetry Transport,意为消息队列遥测传输,是IBM开发的一个即时通讯协议。.
功能是共用一个服务器,所有客户端只要订阅了同一个topic,只要其中一个publish,则其他所有订阅了的客户端都能收到推送的消息

demo下载地址:

https://download.csdn.net/download/u010672559/10549277

==============
1.服务器部署
http://activemq.apache.org/apollo/download.html 下载版本地址介绍
http://mirrors.tuna.tsinghua.edu.cn/apache/activemq/activemq-apollo/1.7.1/apache-apollo-1.7.1-windows-distro.zip具体下载地址
1.1下载后安装
1.2cmd命令行进入安装目录bin目录下(例:E:>cd E:\MQTT\apache-apollo-1.7.1\bin)。
1.3输入apollo create XXX(xxx为创建的服务器实例名称,例:apollo create mybroker),之后会在bin目录下创建名称为XXX的文件夹。XXX文件夹下etc\apollo.xml文件下是配置服务器信息的文件。etc\users.properties文件包含连接MQTT服务器时用到的用户名和密码,默认为admin=password,即账号为admin,密码为password,可自行更改。
1.4进入XXX/bin目录,输入apollo-broker.cmd run开启服务器,看到如下界面代表搭建完成,注意运行apollo-broker.cmd run是在自己create的mybroker下执行

2.客户端实现
基本概念:
topic:中文意思是“话题”。在MQTT中订阅了(subscribe)同一话题(topic)的客户端会同时收到消息推送。直接实现了“群聊”功能。
clientId:客户身份唯一标识。
qos:服务质量。
retained:要保留最后的断开连接信息。
MqttAndroidClient#subscribe():订阅某个话题。
MqttAndroidClient#publish(): 向某个话题发送消息,之后服务器会推送给所有订阅了此话题的客户。
userName:连接到MQTT服务器的用户名。
passWord :连接到MQTT服务器的密码。
2.1工程配置
2.1.1project下的build.gradle下面加
repositories {
    ...
    maven {
        url "https://repo.eclipse.org/content/repositories/paho-releases/"
    }
}
2.1.2module下的build.gradle下面加,eventbus非配置必须,实际是用户后面通信用
implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
implementation 'org.greenrobot:eventbus:3.0.0'
2.1.3清单添加权限及注册service


更多相关文章

  1. Android(安卓)studio如何使用SVN进行版本控制?
  2. Android(安卓)无线连接WiFi打印机打印图片全部乱码
  3. 采用MQTT协议实现Android消息推送
  4. c++服务器与android客户端进行文件传输功能的实现
  5. Android(安卓)使用Socket实现服务器与手机客户端的长连接四:使用
  6. android 蓝牙BLE多连接
  7. android Java 提交数据到服务器的两种方式中四种方法
  8. Android检测手机或PAD是否连网
  9. 第一个安卓程序访问服务器的Servlet,Servlet访问数据库

随机推荐

  1. android 修改系统程序图标大小
  2. android Uri获取真实路径转换成File的方
  3. Android(安卓)Studio——ListView的高级
  4. 自制android1.5的源码包
  5. Android(安卓)内存以及相应的泄漏问题收
  6. android对json数据的解析
  7. Unity整合Android(安卓), 错误Fatal sign
  8. Android(安卓)制作签名
  9. Android(安卓)仿微信Activity左右切换 【
  10. Android色彩空间像素格式定义及设定