关于xmpp的开源工程Beem学习

本文介绍了XMPP协议的基本概念和核心功能,包括XML流、身份标识(JID)及其结构。同时,详细探讨了开源工程Beem的代码结构,包括AIDL接口、关键类如XmppConnectionAdapter、XmppFacade、BeemChatManager以及它们的功能。还提到了XMPP的扩展应用,如头像和用户状态信息,并讨论了文件传输的相关参考资料。
摘要由CSDN通过智能技术生成

xmpp介绍

XMPP: Extensible Messaging and Presence Protocol   Detail:  http://www.xmpp.org/可扩展消息处理现场协议,  是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。

   XMPP是一个流化XML[XML]元素的协议,用于准实时的交换消息和出席信息。XMPP的核心功能定义在Extensible Messaging and Presence Protocol (XMPP): Core XMPP-CORE. 这些功能 -- 主要是 XML流, 使用 TLS和SASL,以及流的根元素之下的<message/>, <presence/>, 和 <iq/> 子元素 -- 为各种类型的准实时应用提供了一个构造基础, 它可以被放在核心的顶层,使用特定XML名字空间[XML-NAMES]发送特定的应用数据. 我很想描述XMPP核心功能的扩展和应用,时间关系及理解的不是很透彻,也不敢乱发言;XMPP核心功能提供了RFC 2779 [IMP-REQS]定义的基本的即时消息和出席信息功能。

 

XMPP中JID =(jabber id)

fullJid: name + “@” + serverName +”resourceName”

barJid: name + “@” + serverName

name:登录名

serverName:是服务器的域名 如gmail.com(GTALK) 公司213服务器域名称为mm

resourceName:资源名 如Gtalk , MSN , QQ,Spark这些名称就是资源名

 

注意:一个名称可以使用不同的资源名登录,所以在发送消息时接收方一定要使用fullJid

 

BEEM中用到的相关类

1.说明

采用开源工程beem的代码结构 www.project-beem.com

 

2. AIDL接口

com.zbkc.mobileoa.im.beem

  service中AIDL接口:

  

service.aidl

aidl对应的实现

描述

 IBeemConncectionListener.aidl

IXmppConnection中调用

添加连接监听的回调接口

IXmppConnection.aidl

XmppConnectionAdapter

用于xmpp连接处理接口

IXmppFacade.aidl

XmppFacade

用于xmpp连接管理提供外部调用接口

IChatManger.aidl

BeemChatManager

用于聊天管理

IChatManagerListener.aidl

IChatManger中调用

为聊天加入回调接口

IChat.aidl

ChatAdapter

封装xmpp聊天处理方法

IMessageListener.aidl

IChatManger中调用

IChat中调用

提供消息处理回调接口

 

 

 

 

  

问:为啥在提供这么多的AIDL接口?

1)一层一层封装使结构更加清晰

问:为啥封装Contact Message UserInfo等类

在Service中如果要传递对象必须是继承自Parcelable的对象

问:RemoteCallbackList的作用

在多个类中都用到了RemoteCallbackList 主要是用于回调在Activity中实现的一些监听器

问:Avater和PrivacyList作用是什么?

Avater是头像信息

PrivacyList是用来定义更多的用户状态信息(如定义离开消息:“我吃饭去了”等)

 

 

3.service中主要的类

XmppConnectionAdapter:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值