MQTT简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。
服务器和客户端搭建
- 首先解压mosquitto.rar到任意位置。最好路径简单点。我的是H:Program Filesmosquitto
- 运行mosquitto.exe
- 运行cmd ,运行 H:Program Filesmosquitto>mosquito_sub –t bing –t userName注册服务
- 重新打开一个CMD,运行H:Program Filesmosquitto>mosquito_pub –t username –m 推送测试 (注意空格)
- 此时第一个cmd内会出现“推送测试”。
- 这就是整个推送过程。下面的问题是怎样把推送整合到android里面去。
(以下操作手机要与电脑处于同一局域网,电脑作为服务器)
(以上过程有问题的话,说明我的教程有问题,不用继续下去了)
- 新建android项目
- 导入httpmime-4.1.3.jar和wmqtt.jar。
- AndroidManifest.xml里注册网络,即
<uses-permission android:name="android.permission.INTERNET" />。
10. 把PushService.java添加到工程中。(里面有错,自己改一下)
11. AndroidManifest.xml里注册service,即
<service
android:name="org.i.ryze.push.PushService" />(这是我的绝对路径,你们自便)
然后就是随便找个地方运行这句代码。
PushService.actionStart(this,
"10.1.1.183", 1883, "hz_bgning");
/**
* @param this Context
* @param 10.1.1.183 服务器ip
* @param 1883 端口号(默认1883就可以了)
* @param hz_bgning (注册推送服务的注册userName)
*/
12. 运行mosquitto.exe
13. 运行àcmdàH:Program Filesmosquitto>mosquito_pub –t token/userName –m 开始推送 (注意,这个比上面的多了token/ ,注意)
14. 这时你的android手机就会接收到推送了。
15. 更简单更完善,支持客户端推送的代码稍后奉上。