最近项目用到 MQTT作为开发,因为做了大量的测试,因此把这个资料汇总一下.
一.MQTT的测试服务器
最快捷实用的是 ActiveMQ.
- 下载:http://archive.apache.org/dist/activemq/apache-activemq/5.8.0/apache-activemq-5.8.0-bin.zip
- 运行前确定 JDK,配置正常.运行如下命令有结果即可.
java -version
- 确定打开 AMQ的MQTT端口
缺省 AMQ只打开 WebSocket,打 MQTT端口需要增加
配置文件在 conf/activemq.xml ,找到 transportConnectors
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<!--打开 MQTT 端口,缺省是 1883 -->
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<!--打开 webSocket 端口,缺省是 61614 -->
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
- 运行 AMQ.
如果是 win7.运行 bin/win64/activemq.bat 即可,成功是如下样子

Windows 下还可安装Mosquitto 或 Apollo作为MQTT服务器
IBM WebSphere MQ 服务器,是一个商业解决方案,可了解一下.
http://blog.csdn.net/ynwewrfjhh/article/details/7300904
参考.
-
采用基于MQTT的ActiveMQ实现消息推送
http://blog.csdn.net/puhaiyang/article/details/51291359 -
MQTT——activemq5.8 推送讯息实现
http://blog.csdn.net/shayuye/article/details/17589457
二.Android MQTT 开发
Android 有好几个.按时间顺序来排
- IBM MQTT库
包名为 com.ibm.mqtt.MqttClient
一般项项目采用wmqtt.jar就是
测试样例 AndroidPushNotificationsDemo https://github.com/tokudu/AndroidPushNotificationsDemo
这个库比较老,这个例子是7年前更新的.
在 IBM消息服务器 WebSphere MQ 的 mqxr/lib 目录下,有最新的
最新客户版本是 com.ibm.micro.client.mqttv3.jar,
这里有一个使用 v3版的例子 http://download.csdn.net/detail/junfeng120125/7582209
-
ActiveMQ 自带的库
在有 mqclient-xxx.jar 库但资料较少 -
Eclipse paho 库
这个库是官方推荐,使用人数最多的库,我们项目也是采用这个库
最新源码 https://github.com/eclipse/paho.mqtt.android
这个源码 demo里比较复杂,带了很多多余东西,可以看一下其它人写的基于这个库的
- 3.1 采用1.01版本
https://github.com/dobermai/android-mqtt-push #推荐这个
https://github.com/puhaiyang/activeMQDemo
- moquette库,另一个用得较多库
moquette
三.扩展开发
-
WebSocket
关于 MQTT下 WebSocket格式分析,
TCP/IP, WebSocket 和 MQTT
http://www.cnblogs.com/shanyou/p/4085802.html -
SSL 通讯
-
PC端测试工具
http://blog.csdn.net/czp11210/article/details/40022031
http://activemq.apache.org/cms/ ActiveMQ官方 C++客户端
网友评论