采用MQTT协议实现Android推送

来源:互联网 发布:oracle数据库证书 编辑:程序博客网 时间:2024/06/08 08:51

下面的图片看不见的,直接去这个地址看完整的:http://blog.csdn.net/joshua_yu/article/details/6563587

 

 

Ø  采用MQTT协议实现Android推送


MQTT是一个轻量级的消息发布/订阅协议,它是实现基于手机客户端的消息推送服务器的理想解决方案。


架构如下所示:

system_diagram

wmqtt.jar
是IBM提供的MQTT协议的实现。你可以从如下站点下载它。你可以将该jar包加入你自己的Android应用程序中。

Really Small Message Broker (RSMB)
他是一个简单的MQTT代理,同样由IBM提供。缺省打开1883端口,应用程序当中,它负责接收来自服务器的消息并将其转发给指定的移动设备。

SAM

是一个针对MQTT写的PHP库。你可以从这个下载它.

send_mqtt.php

是一个通过POST接收消息并且通过SAM将消息发送给RSMB的PHP脚本。



具体实现:

本文的实例采用了mqtt的架构,完全按照tokudu兄的文章而来,并成功实现了。里面采取的不是IBM的Really Small Message Broker,而是采用的开源Mosquitto实现,

准备工作:

6.1 Android真机,本文为三星I809
6.2 Apache + Php环境
6.3 tokudu兄的Android源代码
6.4 tukudu兄的php代码
6.5 mosquitto的可执行程序。

步骤1:
下载mosquitto的可执行程序,我选择的是cygwin版本的,安装后,进入目录双击mosquitto.exe执行即可。

步骤2:下载tokudu兄的php代码,官方地址为:https://github.com/tokudu/PhpMQTTClient
我这里也提供下载:androidpushservice

将代码部署到php环境目录里面。输入地址:http://localhost/

步骤三:下载tokudu兄的android代码:
地址:https://github.com/tokudu/AndroidPushNotificationsDemo
本文提供下载:
tokudu-AndroidPushNotificationsDemo-ea18b09

导入项目,编译,在真机上面使用打开即可。

这里有一个Device Target号码需要在php的界面里面输入。才可以发送成功。

原创粉丝点击