Big Fish

2005-01-06

Jabber和Psi简介

(我今天发在水木清华上的推广文章,转过来备个份,呵呵)

作者:fishy9@smth。转载请注明作者

Jabber是一个开放的基于XML的IM(Instant Message,即时消息,也就是聊天了)协议,其主页是:http://www.jabber.org

Jabber是一个协议,这与QQ、MSN和ICQ之类的都不一样,QQ、MSN和ICQ都是产品。Jabber是一个开放的协议,就好像FTP一样。QQ、MSN和ICQ可能可以有人分析出他的通信协议,做出非官方的客户端软件来,但你用的还是官方提供的那几个服务器。而Jabber就不一样了,就好像现在谁都可以开FTP服务器一样,你也可以开你自己的Jabber服务器。

对,这就是Jabber协议最大的特点:公开。但这样你也许会有疑问,我和我的朋友使用不同的Jabber服务器,是不是我们之间就不能聊天了?答案是否定的。所有的Jabber服务器互相之间都是连通的,就像email一样。我用@163.com的信箱,你用@sohu.com的信箱,是不是我们之间就不能发信了呢?你当然知道不是,所以,Jabber也一样 ;-)

Jabber服务器不光可以跟别的Jabber服务器互联,如果你使用的Jabber服务器装了别的聊天软件的Transport,那么你还可以使用你的Jabber帐号跟着使用这些聊天软件的朋友互联。目前已有的Transports有:MSN, ICQ, Yahoo Messenger, AIM, SMS(短信)等。

除了聊天和Transports,Jabber还提供以下功能:文件传送、会议(你可以理解为聊天室)、用户目录等。

另外,Jabber还有一个独创功能,称为presence。precense表示你的一个状态(在线、乐意聊天、离开、离开很久、不想被打扰、隐身和离线),以及相应的状态信息(也就是说对于你的状态的详细解释,比如说,你可以把状态设置为不想被打扰,然后状态信息里写上"我正在被资本家压迫,没空聊天":P),你的好友可以在他的好友列表里面看到你的状态,以及你的状态信息。更进一步的,你可以对不同的好友设置不同的presence,这样,你可以对你的老板显示"听候差遣",而对其他人显示"我正在被资本家压迫":P

Jabber标识叫做JID(Jabber ID),JID看起来很像一个email地址(Jabber其实也确实可以看作是email的延伸),形式为ID @ server,比如user_AT_jabber.org(将"_AT_"替换成"@")。

比如说,我使用的Jabber服务器是jabber.com.cn,用户名为fishy,那么我的JID就是fishy_AT_jabber.com.cn(同上:P)。jabber.com.cn上面提供了MSN, ICQ, Yahoo和AIM的Transports,因此我可以在服务器上注册我的MSN帐号,这样我就可以跟我的MSN朋友聊天,而他们并不知道我用的不是MSN,他们看到的是我在服务器上注册的那个MSN帐号在跟他们聊天。同时,我还注册了我的Yahoo帐号和ICQ号码,因此,我只需要开一个Jabber客户端,就可以同时跟Jabber, MSN, Yahoo和ICQ上面的好友聊天。(注意,并不是所有的Jabber服务器都提供Transports)

我使用的Jabber客户端是Psi(跟sigh的读音相同,主页http://psi.affinix.com/),这是一个使用Qt库编写的客户端,因此可以运行在Windows, Linux和Mac OS等操作系统上。Psi基本上实现了Jabber的所有标准协议和大部分扩展协议,包括:聊天、会议、Transports、presence、表情图标、用户目录以及消息加密(使用GnuPG实现RSA加密,你可以使用1024位甚至2048位密钥加密!这样就不可能有其它人知道你们在聊什么了)。

赶快装个Jabber客户端,注册一个JID,然后开始享受你的Jabber之旅吧。

20:28:27 by fishy - Permanent Link

May the Force be with you. RAmen