Android上的Mosquitto推送 - Go语言中文社区

Android上的Mosquitto推送


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


1.下载Mosquitto

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

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


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



3.注册推送服务

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


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



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错误


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

运行效果如下图:


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


3.发送服务准备

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

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


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


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






版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u011500793/article/details/14224039
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-06 09:46:19
  • 阅读 ( 1228 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢