Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为提供了轻量级数据交换的解决方案。下面记录Mosquitto的搭建步骤。


1.下载Mosquitto

下载地址http://mosquitto.org/download/

解压mosquitto.rar到任意位置,如d:\mosquitto。


2.运行mosquitto.exe,这样,推送服务的服务端就已经准备好了,监听1883端口。运行界面如下图:

Android上的Mosquitto推送_第1张图片


3.注册推送服务

打开控制台窗口,运行 d:\mosquitto>mosquitto_sub -t user


这一步的操作是注册推送服务。操作成功后,本窗口没任何反映,但是mosquitto.exe运行界面会多两行信息,如下图:

Android上的Mosquitto推送_第2张图片


4.接收消息

再打开另外一个控制台窗口,运行d:\mosquitto>mosquitto_pub -t user 推送消息


这时第一个注册服务的控制台窗口会出现“推送消息”4个字


映射到Android端的话,第一个注册服务的控制台窗口就是Android客户端,第二个控制台窗口就是服务器。


在搭建Android MQTT推送平台之前需要下载下面两个项目:

1.AndroidPushNotificationsDemo

https://github.com/tokudu/AndroidPushNotificationsDemo

2.PhpMQTTClient

https://github.com/tokudu/PhpMQTTClient


接下来开始搭建Android MQTT推送平台

1.推送服务端准备

运行mosquitto.exe,这样,推送服务的服务端就已经准备好了,监听1883端口。

 

2.推送客户端准备

将AndroidPushNotificationsDemo项目导入Eclipse中(File -> Export -> Existing Projects into Workspace)

修改PushService.java中的MQTT_HOST常量为推送服务端的IP地址。

然后启动Android模拟器。

注意:在新版本的Android SDK中可能会遇到java.lang.VerifyError:com.tokudu.demo.PushService错误

Android上的Mosquitto推送_第3张图片

原因是发布的时候没有加入wmqtt.jar包,重新配置项目的Java Build Path即可。

运行效果如下图:

Android上的Mosquitto推送_第4张图片

点击“Start Push Service”按钮即可开启推送服务,其中的“9774d56d682e549c”就是对应的客户端ID号。


3.发送服务准备

将PHPMQTTClient部署到PHP服务器上,如果你只是需要一个环境来运行php的话,下载AppServ,安装完了将PhpMQTTClient拷贝到\AppServ\www\下即可。

打开对应的URL地址,就可以看到发送服务的界面,实际上就是向对应的推送客户端推送消息。

Android上的Mosquitto推送_第5张图片

接着,我们在该界面中填入客户端ID(9774d56d682e549c)和推送消息(hello)并点击“Send Push Message”按钮,服务端就向客户端推送消息。这时客户端就收到刚刚推送的消息,如下图:

Android上的Mosquitto推送_第6张图片

也可以在命令窗口中使用mosquitto_pub.exe -q [Qos级别] -t [主题] -m [发布的内容] 进行测试。这个android客户端例子中订阅的topic[主题]是“tokudu/你的deviceID”。






更多相关文章

  1. Android消息提示Toast的使用总结
  2. Android输入子系统之InputDispatcher分发键盘消息过程分析
  3. 网易视频云技术分享:Android 消息机制学习
  4. 在Android上使用Http客户端的选择(译文)
  5. 模仿android新浪微博手机客户端项目
  6. android 入门学习笔记 利用bundle实现android,activity间消息的
  7. 笔记:Android消息机制
  8. android客户端首次进入轮播引导图(一)
  9. android --- listview 优化+复杂UI 《中航信android客户端实战

随机推荐

  1. Android图标设计标准和原则
  2. Android 开启之旅-学习路线
  3. Android应用程序的消息处理机制
  4. 关于android应用程序签名的一些事儿
  5. android 屏幕尺寸适配实现方案
  6. Android(安卓)自学之进度条ProgressBar
  7. Android手势与触摸事件的分发和消费机制
  8. Android 硬解码MediaCodec配合SurfaceVie
  9. iOS移动互联网流量超Android两倍
  10. 2016年Windows Phone将超越iPhone