论坛首页 移动开发技术论坛

关于手机推送

浏览 10553 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-02  

    最近这段时间工作很忙,很少有时间整理这个,每当想要去整理的时候,总是觉得麻烦,就过去了。首先接着上一次谈谈吧。
     上次的主题帖:用androidpn来实现推送

 

     上次发表帖子后,很多朋友发信息提到了一些问题,就在这里进行解答一下吧。

 

 

问题:
1.asmack的包太大,3百多K。
2.只是完成Android的Push功能使用XMPP协议感觉很笨重。
3.androidpn服务器端的负载很难控制,除非自己改写。

 

 

1.经过一段时间的研究,我把smack的源码搞到之后,查看它的源代码,里边其实内容挺多的,包含了一些关于聊天的类,以及很多加密的、安全相关的,如果觉得这些不重要的话,大可以进行精简,删掉一半以上完全没问题。所以大小是问题。

2. 如果说只是用到android的push,XMPP协议确实笨重,但是正所谓一样东西肯定有两面性的,它只是一套标准,关键在于它的通用以及可扩展,如果 说笨重的话,很简单,它的发送消息你大可以精简,比如它的IQ表示消息,<iq id="144-39" to="121" type="set"><message xmlns="test:iq:message"><id>120</id></message><content><content> </iq>
content里边写入内容,如果这样,你还觉得笨重的,完全可以自定义一套协议。实际上,在推送方面,这点文本信息所耗费的流量完全可以忽略不计,而带来好处,却是一套成熟的消息推送标准。

3.androidpn的服务器端是用的MINA来控制socket连接的,这个框架也算成熟,在这里就不提了。

 

 

      这段时间,针对BUG做了一些修改,对XMPP协议也有了进一步的了解。androidpn其实并不成熟,说实话,成熟的是asmack和MINA。而它 只是把这两个进行了集成。androidpn存在BUG,比如上次提到的服务器重启不能自动重连,这次也解决了。顺便发出来跟大家分享以下,如果有什么问 题大可以回帖,定会一一解答。

 


下载地址

   发表时间:2011-12-05  
建议你在google code上建个项目,把代码放在上面,这样也方便找一些感兴趣的人一起来改进
0 请登录后投票
   发表时间:2011-12-05  
楼主技术青年啊
0 请登录后投票
   发表时间:2011-12-06  
snowolf9929 写道
建议你在google code上建个项目,把代码放在上面,这样也方便找一些感兴趣的人一起来改进

+1
0 请登录后投票
   发表时间:2011-12-06  
用mina搭个后台服务。

前面自己写个Scoket。两三百行代码就OK了。
0 请登录后投票
   发表时间:2011-12-06  
yoyo837 写道
snowolf9929 写道
建议你在google code上建个项目,把代码放在上面,这样也方便找一些感兴趣的人一起来改进

+1

+1
0 请登录后投票
   发表时间:2011-12-06  
源码lib下面差jar包,LZ你将所有的jar包都放在这个目录下吧。
0 请登录后投票
   发表时间:2011-12-07  
你好,请问你说的关于服务器重启不能自动重连的问题,请教一下,你是在哪个地方进行的修改,我现在也遇到了同样的问题,谢谢
0 请登录后投票
   发表时间:2011-12-07  
楼主,你好,我测试了你的代码,有几个问题请教一下。现在如果是服务器主动断开的话,客户端失去链接,服务器重启之后,客户端是可以重连成功的。如果是客户端先主动断开连接,比如说断开网络连接,在把网络打开的话,好像重连就失败了,不知道楼主那边测试是否发现这样的问题,谢谢,期待回复!
0 请登录后投票
   发表时间:2011-12-07  
wlyjj412 写道
楼主,你好,我测试了你的代码,有几个问题请教一下。现在如果是服务器主动断开的话,客户端失去链接,服务器重启之后,客户端是可以重连成功的。如果是客户端先主动断开连接,比如说断开网络连接,在把网络打开的话,好像重连就失败了,不知道楼主那边测试是否发现这样的问题,谢谢,期待回复!



可能我发的不是最终我修改的吧。。如果出现重连失败的话,可以在XmppManager里边稍作改动即可,在LoginTask里面失败的话都加一个startReconnection....出现异常的都加一个runTask()方法即可,大家可以多看看,自动重连其实问题不大。。客户端也是有监听网络连接的。。
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics