![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AndroidPN
文章平均质量分 76
大饼卷馒头蘸米饭
生前何必贪睡,死后自会长眠!
展开
-
AndroidPN服务器与客户端代码分析
1.服务器:ConfigManager--配置信息加载类,Config--配置信息管理类,可以得到配置文件中指定属性的值;CopyMessageUtil--将IQ中的id得到赋值给回执对象;AuthManager--提供用户认证的相关功能;IQAuthHandler--接收并处理命名空间为“jabber:iq:auth”的消息请求,用于处理用户验证业务;IQRegister原创 2013-08-07 16:07:18 · 6989 阅读 · 1 评论 -
androidpn-client重要BUG-锁屏掉线解决方法
在网上androidpn上的BUG基本都解决了,也多亏牛人们顶力相助,灰常感谢啊。在这里要说的问题是手机锁屏后,客户端心跳包不再发送了。由于android也接触不是很久,对一些系统的机制不太了解,经过多次测试与分析,才发现了是由于锁屏后CPU处于睡眠状态,线程都被挂起,所以在服务器端设定的闲置时间内收不到心跳包,强制移除用户下线。OK问题已经找到了就好办多了,既然是被挂起了我们就只有让心跳一直转载 2013-08-09 15:20:54 · 2774 阅读 · 2 评论 -
AndroidPN中的心跳检测
在AndroidPN客户端里存在着心跳检测功能。就是每隔一段时间客户端向服务器端发送一个消息,以检测连接是否正常,发送的消息内容为: 心跳检测频率时间在SmackConfiguration类中设置: 心跳检测任务的定义及开启在PacketWriter类中: 心跳检测的流程:1.按心跳时间定时向服务发送心跳数据包;2.如果发送失败,抛出发送失败的异常;原创 2013-08-09 16:15:30 · 5485 阅读 · 3 评论 -
IM设计思考:点对点消息交换
IM最基本的功能就是即时消息交换,那么一个送出的消息将经历哪些过程才能最终送达目的地?下面给出一个过程描述:1. 消息从客户端发出经过网络由客户端所直接连接的服务器接收2. 接入服务器接收到网络字节流后重组消息包(协议解包的过程)3. 合法性判断- - 只有已登陆的用户才能发送消息- - 消息包的长度限制4. 协议分析(得到消息的类型、格式、目的地等)然后交给合适的程序转载 2013-08-12 16:48:22 · 1462 阅读 · 0 评论 -
解读AndroidPN的离线消息处理
本人在项目中用到AndroidPN,达到通过服务器给终端推送消息通知的功能。下面讲下个人对AndroidPN的离线消息处理的理解。AndroidPN的离线消息需要处理以下几种情况:1.客户端刚上线的时候,AndroidPN服务器需要在根据上线的用户去检索该用户是否在通知消息表中有未发送(state=0)的消息,如果有,则调用NotificationManager中的sendOfflineN原创 2013-08-16 10:21:26 · 4457 阅读 · 5 评论