转自:http://www.juapk.com/thread-2834-1-1.html

项目说明:采用MQTT协议实现Android推送
消息传输协议:IBM的MQTT协议 JAR包地址:下载
服务器安装:IBM的 RSMB 下载(MQTT协议代理)
PHP服务器端使用的是:SAM 针对MQTT写的PHP库 (下载链接为Tokudu PHPMQTT通信项目),其中send_mqtt.php是一个通过POST接收消息并且通过SAM将消息发送给RSMB的PHP脚本。
ANDROID 客户端的消息PUSH DEMO 下载

Server 
1.首先你需要安装apache php运行环境,网上有现成的集成的安装环境。 
apache php环境安装好后将tokudu-PhpMQTTClient-ba4e494.zip解压至webroot目录下,然后启动apache服务 
2.如果你是windows 环境在服务器端再启动 rsmb_1.2.0.zip\windows\borker.exe (我一开始客户端始终连接不上服务器就是因为这个服务没有开) 
3.Client 
tokudu-AndroidPushNotificationsDemo-ea18b09.zip\tokudu-AndroidPushNotificationsDemo-ea18b09\src\com\tokudu\demo\PushService.java 
line 38 
private static final String MQTT_HOST = "209.124.50.174"; (修改成你的服务器端ip)

好了就这三步,MQTT的环境就配置好了,然后重新编译客户端的程序并且安装手机或者模拟器中。再在服务器端查看,你会看见server status 变成online了,那就表明客户端连接成功。然后就可以向客户端发送消息了。 
点击“Start Push Service”按钮即可开启推送服务。这时我们可以看到rsmb的服务日志中打出以下提示:
20120823 113742.297 CWNAN0033I Connection attempt to listener 1883 received from client tokudu/9774d56d682e549c on address 192.168.28.39:3345
其中的“9774d56d682e549c”就是对应的客户端ID号。

4、发送服务准备
b> 修改etc/config.php中推送服务端的IP地址和端口号,即MQTT_SERVER_HOST和MQTT_SERVER_POST常量。
c> 打开对应的URL地址,就可以看到发送服务的界面,实际上就是向对应的推送客户端推送消息。
接着,我们在该界面中填入客户端ID(9774d56d682e549c)和推送消息(test)并点击“Send Push Message”按钮,服务端就可以向客户端推送消息了。我们看到,客户端上立马就可以收到刚刚推送的消息,如下图。如果客户端没有保持连接,发送的消息就会被丢弃。不过,我们可以利用MQTT协议开发出更强大的服务端来替代rsmb,更可以加入队列、缓存等功能进行优化,有兴趣的朋友不妨试试。可参考开源项目Mosquitto(http://mosquitto.org/
php推送在线地址 http://tokudu.com/demo/android-push/
PhpMQTTClient 下载
AndroidPushNotificationsDemo下载

最新文章

  1. ORACLE中STATUS为INACTIVE但是SERVER为SHARED状态的会话浅析
  2. T-SQL 循环表的一种方式
  3. hdu 2039 三角形
  4. 磁盘io负载查看
  5. 【转】利用TCMalloc优化Nginx的性能
  6. PHP函数spl_autoload_register()用法和__autoload()介绍(转)
  7. php 文件上传类 实例分享
  8. DragSortListView学习总结
  9. 谈谈自己对于Auth2.0的见解
  10. 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建
  11. 【★】SPF(Dijkstra)算法完美教程
  12. LINUX 笔记-vmstat命令
  13. pandas 数据分析使用
  14. OpenCV计算物体的重心坐标(2值图像)
  15. 【Matlab编程】matlab 画图
  16. 【XSY1594】棋盘控制 概率DP
  17. linux系统电视盒子到底是什么
  18. 4. 多重背包问题 I
  19. android开发图片分辨率
  20. [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序

热门文章

  1. 【BestCoder #45】
  2. BZOJ5300 [Cqoi2018]九连环 【dp + 高精】
  3. mysql插入表情问题
  4. Django model 字段类型清单
  5. redux-saga call 和 fork的区别
  6. AGC019-E Shuffle and Swap
  7. Bzoj2165 大楼
  8. Android键盘面板冲突 布局闪动处理方案
  9. Custom Email Attribute在客户端不起作用原因
  10. 封装一下webform的公用方法:对于软件我把这些全封装在pagebase里面,这样所有的页面只调用一句 Init()即可,其他的全在页面上配置