XMPP基本概念-地址空间

一个实体可以使任何一个被认为是一个网络端点的东西(比如说网络上的一个ID),而且它是通过XMPP进行通信的,所以这些实体都有一个具有唯一性的地址,并符合RFC2396规范要求的格式。由于历史原因,一个XMPP实体的地址被称为Jabber Identifier或者JID,一个合法的JID包括一组排列好的元素,包括域名(domain identifier),节点名(node identifier)以及资源名(resource identifier)。

JID的语法定义:
jid=[node"@"]domain["/"resource]
domain=fdqn/address-literal
fdqn={sub-domain1*{"."sub-domain}}
sub-domain={internationalized domain label}
address-literal=IPv4address/IPv6address

简单的说,JID很像邮件地址,比如说william_duan@jabber.org/library,test_account@jabber.org.在JID的构成部分中,域名是必须的,根据内容,节点名以及资源名有可能不用指定。

域名通常表示一个实体名字,比如说服务器,组件或者插件。
节点名通常表示域内的一个特殊的用户。它还可以用来表示其他的东西,比如说在聊天室的房间名字。
资源名通常表示客户端的一个连接,对于客户端而言,每一个连接都被赋予一个资源名。
比如说william_duan@jabber.org的用户从两个地方(study,library)建立了两个连接,那么他的两个连接将会被标记为william_duan@jabber.org/study,william_duan@jabber.rog/library.同节点名一样,资源名可以用来标记其他东西,比如说聊天室里面特定的用户。

JID分成两种类型,一个是纯JIDs,一个是全JIDs,全JID通常是针对特定的实体的。而纯JID只是单纯的去掉了全JID的资源名部分。在某些情况下,纯JID和全JID是一样的。比如说要定位服务器或者特定的多人聊天室的时候。在传送信息的时候,发给纯JID得信息将会发送到一个或者多个用户,如果用户不在线,信息将会作为离线信息进行保存,关于离线信息将会在后面进行讲解。发给全JID的信息将会直接发给特定的用户。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值