Jabberd/XMPP 学习之一:概述

本文介绍了XMPP与Jabberd的关系,XMPP成为IETF即时消息和出席信息技术标准的历史,以及JID的概念。重点阐述了XMPP的通信流程,强调其类似邮件的通信模式,必须通过服务器进行信息转发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在要开始学习Jabberd的相关东西,后续需要用他来部署服务器。废话不多少,现在开始:

首先明确几个问题或者说概念:

1.xmpp和jabberd是什么关系

xmpp最初是jabberd社区为了开发jabberd服务器而开发的,只是后来,jabberd社区对xmpp做了修改和强化,使他能够适用于IETF的即时消息和出席信息技术,并且在2004年10月正式成为了标准,分别是RFC3920和RFC3921,但是,现在RFC3920和RFC3921分别被RFC6120和RFC6121取代了。

2.什么是JID?

JID就是Jabberd id,是你在XMPP世界里面的唯一标示,组成部分就是像是一个邮箱地址一样,比如hezhouyong@gmail.com.

3.XMPP的大体通信流程

XMPP虽然是为即时通信而生的,但是他的通信流程却和邮件的很相似,因为XMPP不支持P2P的通信方式(传输文件除外),而是必须要经过服务器。下面举例说明一下(例子来源于http://hi.baidu.com/qbg_elingqishi/item/0ed8fa3102579d85f5e4ada0):

Juliet与Romeo的通话:Juliet 并不能过点对点直接把信息发给Romeo,而要通过服务器转发。Juliet的账号在某一台Jabber服务器上,现在假设他用Juliet在名为capulet.com的服务器上注册了账号,那么他的账号就是Juliet@capulet.com,同样Romeo也在另一个服务器上得到了如下一个JID:Romeo@montague.net,一旦Juliet登录了capulet.com的服务器,他就可以发送消息给好友了。现在假设以Juliet在一台计算机上打开了客户端,我们来更精确描述一下过程: 
  (1)Juliet发送信息给Romeo@montague.net。 
  (2)信息首先被capulet.com处理。 
  (3)如果还没有连接的话,capulet.tom开启到montague.net的服务之间的连接。 
  (4)如果montague.net允许capulet.com的连接,capulet.com的信息就被转发到montague.net上面。 
  (5)montague.net的服务器看到这个信息是发送给它上面的Romeo的用户,如果Romeo在线,这个信息就被转发到Romeo的客户端上,否则被保存在服务器上。 
  (6)这个信息在Romeo的客户端上被显示了出来。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值