Jabber简单工作过程(转)

是什么

Jabber是一个开源的即时通讯平台,它使用一组基于XML的协议来实现即时通讯功能。它有点类似于Email。处于不同的Email提供商下的email使用者,可以互相进行通信,而Jabber就是让即时通讯也能实现互联互通的一个平台。

Jabber 是著名的 Linux即时通讯服务服务器,它是一个自由开源软件。什么是即时通讯服务器呢?就是类似AIM,ICQ,MSN或Yahoo Message类似的服务器;只是Jabber能让我们自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用;
Jabber 最有优势的就是他的通信协议。他可以和多种即时通讯对接。比如有第三方插件,能让jabber用户和MSN 、Yahoo Messager、ICQ..... 对聊;

XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP的技术来自于Jabber,其实它是Jabber的核心协定,所以XMPP有时被误称为Jabber协议。Jabber是一个基于XMPP协议的IM应用,除Jabber之外,XMPP还支持很多应用。IEEE

XMPP工作组(一个工程师和程序员联盟)正在改编XMPP以用作互联网工程任务组(IETF)技术。XMPP最终有望使用鉴定、访问控制、高级隐私、逐跳加密、端端加密以及与其它协议的相容等应用来支持IM。


如何工作        

现在我们假设有甲和乙两个人,其中甲使用的是称为A的Jabber平台,而乙使用B平台。这时候甲会有一个Jabber帐户:甲@A,而乙则是乙@B.
        甲发一条信息到乙@B,这条信息首先会到A,然后A发送给B,接着B再发送到乙。
        也就是说,信息发送并非是以点对点形式发送的。而是Client->Server->Server->Client这样的形式。

如何使用

首先我们必须选择一个Jabber客户端软件。
Jabber客户端软件分为两种,一种是开放性的,一种是唯一性的。前者可以自己设定一个Jabber服务,例如gaim,而后者是针对某个Jabber服务设计的软件,不能自己设定Jabber服务,例如Google Talk,就是针对Google的Jabber服务所设计的。

然后我们还要选择一个Jabber服务。
选择并注册一个Jabber服务后,你将会得到帐户信息以及帐户所在的服务器的信息。
例如Google Talk,如果你注册一个ID为wolfchen,那么你的Jabber帐户就是[email protected],Jabber服务器就是talk.google.com:5222
这时候我们可以打开Jabber客户端软件,把帐户和服务器信息都设好。这个有点类似于我们选择一个邮件客户端软件,然后把POP3的帐户信息和服务器信息设好。

和非Jabber的IM服务通讯

拿MSN Messenger(以下简称MSN)来说吧。如果我是一个Jabber用户,但是又想和MSN的用户通讯,该怎么办呢?
由于MSN不是基于Jabber的,所以Jabber服务器不能和MSN的服务器直接通讯。因此,我们必须找到一个中转站以及一个进入MSN服务器的口令。

很多Jabber服务,提供着针对MSN的中转站。我们可以直接使用那些中转站,而不一定使用他们的Jabber服务。

然后,还需要一个进入MSN的服务器的口令。由于我们不是盖茨先生,所以要进入MSN的服务器,只能注册一个MSN帐户了。

整个过程是这样的:
Jabber用户->Jabber服务器1->Jabber服务器2->Jabber服务器2上的MSN中转站->通过Jabber用户提供的MSN帐户和密码以普通用户登陆,并发送信息给MSN用户。
中转站就相当于一个MSN客户端,而我们不直接使用这个客户端,中转站这个客户端获得信息后,返回到我们的Jabber客户端或发送到其他的MSN用户。

需要注意的是,中转站会保留你的MSN登陆信息在他们的服务器里,所以如果你并不是很信任一个中转站的时候,请不要使用它。

我们可以自己搭建jabber通讯服务器的,具体方法:http://www.linuxsir.org/main/?q=node/156

最近无意中发现一个可以搭建QQ jabber服务器的插件QQTransport for wildfire
http://www.trydone.com/posts/list/50.page

我现在没有PC可以使用了,如果有人愿意尝试的话,可以搭建一个JABBER qq服务器做个实验.

你可能感兴趣的:(IM)