下面的图片看不见的,直接去这个地址看完整的:http://blog.csdn.net/joshua_yu/article/details/6563587
Ø 采用MQTT协议实现Android推送
MQTT是一个轻量级的消息发布/订阅协议,它是实现基于手机客户端的消息推送服务器的理想解决方案。
架构如下所示:
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的界面里面输入。才可以发送成功。