Android + PHP 实现 MQTT,附程序Demo下载链接
来源:互联网 发布:新开淘宝网店卖什么好 编辑:程序博客网 时间:2024/06/13 02:27
背景:
最近有个项目要做,Android 开发不熟悉,也是网上各种资源收集终于调试成功。由于资源收集太辛苦,还是自己写下步骤MARK下,以备下次使用,首先Android推送,想到的是MQTT, MQTT基本概念就不描述了,网上可以搜,特点是基于TCP/IP, 提供“至多一次”、“至少一次”、“有且仅有一次”三种级别的消息传输, 小型传输、流量开销少,所以一般做公有云认证用这种方法推送还不错。
本文涉及到的资源可以在以下链接下载
http://download.csdn.net/detail/zaqxsw875/9654104
1. MQTT的简单实现方案:
1.1服务器:可以采用IBM的MQTT服务器RSMB,我用的是rsmb_1.2.0
1.2 客户端:Android 开源代码
1.3 发送服务器:PHP版的发送服务端代码
1.4 测试工具: ia92
2. 实施步骤
2.1 准备工作:
首先,得有一个能运行Android 的环境,我用的是Eclipse,需要有Android 手机一部,有个能够跑PHP的Server,我用的是wamp.这些配置资源需要在网上搜索下载。
下载资源:
可以直接从文章开头提到的连接下载所需资源(Windows 版本),
http://download.csdn.net/detail/zaqxsw875/9654104
2.2 先运行 broker.exe, 我的系统是Windows, 目录在 \rsmb_1.2.0\windows
PS: 如果运行闪退,有可能是1883端口被占用
这时会出现如下画面:
2.3 这时 Broker服务已启动,可以运行wmqttSample.jar 来进行测试, 目录在\ia92\J2SE
双击两次打开两个 wmqttSample窗口,并找到 "Options",修改其中一个 Client Identifier 为 client2.
两个窗口点击 Connect, 第一个窗口 在 Subscribe Topic 输入名称,点击 Subscribe, 在第二个窗口在Topic 输入相同的名称,并且输入发送的内容,点击 Publish.
这时第二个窗口输入的内容被第一个窗口获得。
同时,Broker 会记录监听情况
2.4 如果运行没有问题,可以测试Android DEMO, Github 下载代码如果直接运行,会出现闪退问题,因为没有加载wmqtt.jar文件,在工程根目录下创建"libs"文件夹,把 wmqtt.jar放进去, 在项目属性里,找到 Java Build Path,编译下运行环境即可。 Android 运行效果
如下图所示:
2.5 部署PHP环境,修改 MQTT_SERVER_HOST',为本地IP即可。 输入Android 设备号, 然后输入信息,点击发送,手机则受到推送通知。
3. 小结:
对Android环境不熟悉,在实施过程中遇到不少问题,比如Android 闪退,未安装rsmb前一直测试不成功等,还好问题已经解决。感谢万能互联网。
0 0
- Android + PHP 实现 MQTT,附程序Demo下载链接
- K近邻算法讲解与python实现(附源码demo下载链接)
- Android MQTT Demo
- Android 中如何实现 显示和隐藏软键盘——附Demo下载
- Android实现购物车(附demo)
- Android 利用广播实现黑名单【指定号码】的短信的拦截 附源码下载链接
- Android一键锁屏实现(附源码链接)
- Android 异步任务——AsyncTask (附Demo下载)
- 【android】带加载进度条的WebView (附demo下载)
- 使用MQTT实现Android推送功能(Android+PHP+rsmb)
- 使用MQTT实现Android推送功能(Android+PHP+rsmb)
- MQTT:使用Mosquitto作为broker,SSL加密,附Java Demo
- 搭建Android开发环境(附下载链接)
- php实现文件的下载链接
- Android Gallery实现3D相册(附效果图+Demo源码)
- Android Gallery实现3D相册(附效果图+Demo源码)
- Android Gallery实现3D相册(附效果图+Demo源码)
- Android Gallery实现3D相册(附效果图+Demo源码)
- 获取文件夹下的文件名生成新的文件&DOC命令想从指定的txt中读出文件名,然后在指定文件夹以及子目录下搜索文件,并拷贝到指定目录
- hduoj1290 附加对于所有切割问题的解析
- iOS10推送必看UNNotificationAttachment以及UNTimeIntervalNotificationTrigger
- 从零开始学JDBC--1.5 DML代码抽取,结构简化
- 无法定位序数 354 于动态链接库LIB
- Android + PHP 实现 MQTT,附程序Demo下载链接
- css样式cursor属性值
- Linux AIO
- 2016.10.17 错误集锦
- 极光推送开发者证书
- Codeforces Round #376 (Div. 2) C. Socks && 731 C 详解(并查集)
- Linux中使用date转换时间
- Unity起航 Gear VR开发环境配置 JavaJDK引发的一个问题
- 一次ibm服务器故障处理