ubuntu11.04下搭建Android推送服务器
ubuntu11.04上搭建Android推送服务器查阅了一些网上关于Android上实现推送的文章?, 常用的实现方法有:1.使
ubuntu11.04上搭建Android推送服务器
查阅了一些网上关于Android上实现推送的文章?, 常用的实现方法有:
1.使用android默认C2DM框架
2. APP 保持轮循
3. 采用XMPP协议,自己搭建推送服务器
?
下面介绍一下自己在ubuntu11.04下搭建XMPP推送服务器的方法:
1. 下载Android Push Notification?相关包,包括
androidpn-server-0.5.0-bin.zip
androidpn-demoapp-0.5.0.zip
2.?安装apache2?,eclipse,android SDK
3. 启动apache服务,并且停止iptables
手动添加iptables规则
Shell代码??
- socol@socol:~$?sudo?vim?/usr/bin/iptables-stop.sh??
Shell代码??
- socol@socol:~$?sudo?chmod?750?/usr/bin/iptables-stop.sh??
Shell代码??
- socol@socol:~$?sudo?chown?root:root?/usr/bin/iptables-stop.sh??
?内容如下:
Shell代码??
- #!?/bin/sh??
- #?清空?filter?表格規則(無指定表格,則為?filter?表格)??
- iptables?-X??
- ??
- #?清空?nat?表格規則??
- iptables?-t?nat?-F??
- iptables?-t?nat?-X??
- ??
- #?清空?mangle?表格規則??
- iptables?-t?mangle?-F??
- iptables?-t?mangle?-X??
- ??
- #?指定?filter?表格預設規則??
- #?INPUT、FORWARD、OUTPUT?皆為放行??
- iptables?-P?INPUT?ACCEPT??
- iptables?-P?FORWARD?ACCEPT??
- iptables?-P?OUTPUT?ACCEPT??
清除防火墙:
Shell代码??
- socol@socol:~$?sudo?/usr/bin/iptables-stop.sh??
?
4.?运行解压后的androidpn-server
Bash代码??
- socol@socol:~/下载/androidpn-server-0.5.0/bin$?mkdir?../logs??
- socol@socol:~/下载/androidpn-server-0.5.0/bin$?./run.sh??
?
5. 在firefox中输入127.0.0.1:7070,显示设备和推送管理页面
?
?
6.?将androidpn-demoapp导入eclipse中
运行后出现错误:
Java代码??
- W/Cannot?connect?to?server.(?1052):?0??
- W/System.err(?1052):?XMPPError?connecting?to?127.0.0.1:5222.:?remote-server-error(502)?XMPPError?connecting?to?127.0.0.1:5222.??
- W/System.err(?1052):???--?caused?by:?java.net.ConnectException:?/127.0.0.1:5222?-?Connection?refused??
?
根据提示?,修改androidpn-demoapp-0.5.0/res/raw/androidpn.properties:
Java代码??
- apiKey=1234567890??
- xmppHost=10.0.2.2??
- xmppPort=5222??
?
7. 在firefox中发送消息:
?
8. 模拟器/手机上接受到消息:
?
?
androidpn研究成果?http://crking32.iteye.com/blog/1420039
Android实现推送方式解决方案系列??http://www.juapk.com/thread-1004-1-1.html
?