xmpp即时通讯

这几天一直在研究xmpp的东西,大致遇到的问题有

1  登陆后更新用户的状态 需要手动去设置,其实也不一定是这样子的,关键看你在获取roster的时候你怎么去检索射中user的statu。

2  给发送消息添加消息时间 可以再message中设置property属性 设置属性名为sendtime 值为系统当前时间 得到的内部的消息协议大致是这样子的

<message id="a26q2-12" to="zlsina002\40slook.cc@xmpp.chaoboo.com"
   //from="zlsina001\40slook.cc@xmpp.chaoboo.com/Smack"
    //type="chat">
   //<body>lsfjaojfakdfa</body><thread>ut75K1</thread>
   // <properties xmlns="http://www.jivesoftware.com/xmlns/xmpp/properties">
   //<property><name>Time</name><value type="long">1340097191416</value>
   //</property></properties></message>

我个人认为既然时间是自己添加的 ,api肯定不会给你相关的提取时间的方法,要想获得系统时间还的自己手动的去解析,这样添加时间解析起来非常的麻烦,我的解决办法是将时间放在消息体的头部,用一个特殊符号来隔开(系统时间是一个长整型 消息体是字符型所以是没什么问题的)。

3  xmpp在登陆以后获取到的用户列表不全,这个也 需要解决,我采用的方式是每个用户在登陆后会接收到很多的好友在线状态 ,我可以通过他们给你发过来的presence从中解析得到user对象,在检索本地的好友列表看这个好友是否存在其中如果没有则将user对象添加到好友列表中并更新ui,这么做可能会解决一部分,但还是会有些问题 ,所以得要求在用户登录后要求服务器需要吧这个信息完全发给客户端。

4  接收消息,在android中怎么提示用户我有新消息,我目前能做到的是通过packetListener对消息包进行监听,有message即解析为chatlog对象用一个listchat来存放。

吼吼  想到个好方法给chatlog 添加一个布尔值 isread。

写代码去大笑

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值