androidpn restclient 独立运行运行不...

下次自动登录
现在的位置:
& 综合 & 正文
Android Push Notification(Android客户端信息推送) (androidpn-server和androidpn-client)
运行androidpn-server-0.5.0\bin\run.bat启动服务器,从浏览器访问http://127.0.0.1:7070/index.do (androidPN Server有个轻量级的web服务器,在7070端口***请求,接受用户输入的文本消息)
运行客户端,客户端会向服务器发起连接请求,注册成功后,服务器能识别客户端,并维护和客户端的IP长连接。
2. 如果是在同一个局域网内的其他机器的模拟器测试(或者使用同一无线路由器wifi上网的真机) ,则需要把这个值设置为服务器机器的局域网ip.
例如 你的电脑和android手机 都通过同一个无线路由器wifi上网, 电脑的ip地址为 192.168.1.2 而 手机的ip地址为 192.168.1.3, 这个时候 需要把这个值修改为 xmppHost=192.168.1.2,就可以在手机上使用了.
3. 如果是不在同一个局域网的真机测试,我们需要将这个值设置为服务器的IP地址。
具体配置如下图所示:
我的电脑IP是:192.168.8.107
服务器运行主界面:
推送信息:
测试结果如下图:
模拟器和真机测试通过。
注意:当客户端会话列表中显示无客户端,而实际上客户端已经启动,有可能是网络问题,需要我们等一会儿,并通过adb logcat 观察相关日志。如图:
其他使用过程介绍:
当然了,以上是在自己的服务器上配置并实现信息推送,如果大家想省事的话,在这里给大家推荐个网址, 可以更轻松地实现推送,缺点是需要通过别人的服务器,关于这点,你懂的。
只需申请个API即可使用。
至于其他的推送方案会在以后的博文中介绍。
本文是通过jetty框架来搭建后台服务,通过tomcat搭建后台服务的方式见
本文转载至:
&&&&推荐文章:
【上篇】【下篇】如果要自己搭建,从零开始做或基于开源进行修改扩充,开源的push引擎,90%的博文首推AndroidPN,结合公司现状,最优解决方案就是进行AndroidPN的二次开发了。先看一下这个项目:
这是韩国人放在
上的一个开源项目,文档是韩文的。
最近的版本更新时间是 ,也就是约二年之前。
来自中国的访问量,占其总访问量的 81%。统计链接:
以上的基本信息表明,这不是一个很成熟的项目(貌似个人维护的),但是确有大量的中国人有兴趣,因为谷歌的服务国内用不了,开源项目里,明确地为 Android Push来生的,也就 androidpn了。
二、配置AndroidPN
AndroidPN全称 Android Push Notification,特点是:
快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.
无需架设服务器:通过使用"云服务",减少额外服务器负担.
可以同时推送消息到网站页面,android 手机
耗电少,占用流量少.
具体配置过程:
首先, 需要下载androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip。
下载地址:
解压两个包,Eclipse导入client,配置好目标平台,打开raw/androidpn.properties文件,配置客户端程序。
1. 如果是模拟器来运行客户端程序,把xmppHost配置成10.0.2.2[模拟器把10.0.2.2认为是所在主机的地址,127.0.0.1是模拟器本身的回环地址,10.0.2.1表示网关地址,10.0.2.3表示DNS地址,10.0.2.15表示目标设备的网络地址],关于模拟器的详细信息,大家可参阅相关资料,这里不再详述.
xmppPort=5222 是服务器的xmpp服务***端口
运行androidpn-server-0.5.0\bin\run.bat启动服务器,从浏览器访问http://127.0.0.1:7070/index.do (androidPN Server有个轻量级的web服务器,在7070端口***请求,接受用户输入的文本消息)
运行客户端,客户端会向服务器发起连接请求,注册成功后,服务器能识别客户端,并维护和客户端的IP长连接。
2. 如果是在同一个局域网内的其他机器的模拟器测试(或者使用同一无线路由器wifi上网的真机) ,则需要把这个值设置为服务器机器的局域网ip.
  例如 你的电脑和android手机 都通过同一个无线路由器wifi上网, 电脑的ip地址为 192.168.1.2 而 手机的ip地址为 192.168.1.3, 这个时候 需要把这个值修改为 xmppHost=192.168.1.1 或是电脑的IP地址,就可以在手机上使用了.
  3. 如果是不在同一个局域网的真机测试,我们需要将这个值设置为服务器的IP地址。
具体配置如下图所示:
我的电脑IP是:192.168.8.107
服务器运行主界面:
推送信息如下界面所示:
测试结果如下图所示:
局域网模拟器已测试通过!
三、AndroidPN存在的问题
下列问题均是众博主提到过的,未做详细具体的测试:
1. 比如时间过长时,就再也收不到推送的信息了。
这点我用虚拟机测试没有发生,测试时长10h。
2. 性能上也不够稳定。
需经过详细测试。
3. 如果将消息从服务器上推送出去,就不再管理了,不管消息是否成功到达客户端手机上。
可以解决,但需要大量的服务器工作。
4. 一旦服务器重启了,客户端似乎不会自动重连,需要用户自己中断后台Service再重启应用。
androidpn 客户端没有去做这些细节,需要自己解决。
5. androidpn服务器不保存消息。就是说它一有消息就会发出去,即使客户端根本不在线,它也不会重发。
重要。androidpn 背后的 Openfire,是 XMPP IM服务器,消息内容是不会落地的,即只在内存里保存一下离线消息,需要考虑改造这里。
6. 考虑到大范围改造技术上更不可控,团队初期用XMPP开源方案,后来完全切到自己实现的技术方案的案例:http://www.oschina.net/question/87
四、AndroidPN二次开发可行性
二次开发,归结为一点就是,读懂源码然后修改扩充优化。
先看客户端的源码:
分两个包:client和demoapp
显然demoapp只是一个功能演示,里面只实现了一个核心功能:
// Start the service
ServiceManager serviceManager = new ServiceManager(this);
serviceManager.setNotificationIcon(R.drawable.notification);
serviceManager.startService();
鉴于该引擎的不完善,简要估计下改造成本,先看客户端几个主要类代码量:
XmppManager 478
NotificationService 298
ServiceManager 198
其余14个类代码量均小于200行,从客户端代码量看,客户端的大规模改造可行。
对服务器不是很了解,没有具体深入研究,看一下代码包吧,服务器端仅jar包数就53个,除了工具包外,估计需要改造的包很有可能超过10个,而且这只实现了基本功能,存在众多问题而且还有很多的功能要添加,如果要做到第三方推送的完成程度,其工作量相比于完全自己搭建几乎无差别。
综上,要实现相对完整的推送系统,基于AndroidPN的二次开发不可行,如果公司有足够的人力物力和相关技术的经验积累,完全可以考虑自己做推送系统,或者使用第三方的平台。建议使用第三方推送平台。
阅读(...) 评论()网站已改版,请使用新地址访问:
androidpn-client-0.5.0 很好的代码,请看看啊,比较实用,服务器端的实现 WinSock-NDIS 网络编程 238万源代码下载-
&文件名称: androidpn-client-0.5.0
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 348 KB
&&上传时间:
&&下载次数: 69
&&提 供 者:
&详细说明:很好的代码,请看看啊,比较实用,服务器端的实现-Good code, please take a look at ah, more practical, server-side implementation
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&androidpn-client-0.5.0&&......................\assets&&......................\lib&&......................\res&&......................\...\drawable&&......................\...\drawable-hdpi&&......................\...\drawable-ldpi&&......................\...\drawable-mdpi&&......................\...\layout&&......................\...\raw&&......................\...\values&&......................\src&&......................\...\org&&......................\...\...\androidpn&&......................\...\...\.........\client&&......................\...\...\.........\demoapp&&......................\.classpath&&......................\.project&&......................\AndroidManifest.xml&&......................\LICENSE.txt&&......................\README.txt&&......................\build.properties&&......................\build.xml&&......................\default.properties&&......................\lib\asmack.jar&&......................\res\drawable-hdpi\icon.png&&......................\...\.........ldpi\icon.png&&......................\...\.........mdpi\icon.png&&......................\...\........\notification.png&&......................\...\layout\main.xml&&......................\...\raw\androidpn.properties&&......................\...\values\strings.xml&&......................\src\org\androidpn\client\ConnectivityReceiver.java&&......................\...\...\.........\......\Constants.java&&......................\...\...\.........\......\InvalidFormatException.java&&......................\...\...\.........\......\LogUtil.java&&......................\...\...\.........\......\NotificationDetailsActivity.java&&......................\...\...\.........\......\NotificationIQ.java&&......................\...\...\.........\......\NotificationIQProvider.java&&......................\...\...\.........\......\NotificationPacketListener.java&&......................\...\...\.........\......\NotificationReceiver.java&&......................\...\...\.........\......\NotificationService.java&&......................\...\...\.........\......\NotificationSettingsActivity.java&&......................\...\...\.........\......\Notifier.java&&......................\...\...\.........\......\PersistentConnectionListener.java&&......................\...\...\.........\......\PhoneStateChangeListener.java&&......................\...\...\.........\......\ReconnectionThread.java&&......................\...\...\.........\......\ServiceManager.java&&......................\...\...\.........\......\XmppManager.java&&......................\...\...\.........\demoapp\DemoAppActivity.java
&近期下载过的用户:
&相关搜索:
&&&&&&&&&&
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 模拟push功能 android开发c/s模式很好的实例
&[] - 基于xmpp协议的android手机客户端。可以比较完整的实现登入,接受消息。
&[] - ,这是一个基于JXTA的P2P聊天的可以部署在android上的一个程序,目前做的工作还不足,组聊天还没有完成,有兴趣的可以将其完善,这是我以前做的一个项目现在夭折了。现在分享到网络上希望能对大家有所帮住。 要想运行该程序必需先运行GateWayPeer.java,并且修改MiMessage工程里P
&[] - Android平台的即时通信软件,基于陌生人的聊天系统,功能和陌陌类似,现在您可以参考源码了(名称groupyou)。
&[] - 消息推送源码消息推送源码消息推送源码Message push source code
&[] - android xmpp 推动 客户服务端

参考资料

 

随机推荐