jabber

 

jabberjabber
Jabber是一个开放的、基于 XML协议。它的用途在即时通讯及Presence资讯方面。

 

jabber - 历史

JeremieMiller于1998年开始了这个项目。第一个公开版本于2000年5月发行。这个项目的主要产品是jabberd,Jabber的服务器端软件。它既可以创建私人的Jabber网络,也可以加入全球的公共Jabber网络。Jabber的关键特色是,分布式的即时通讯系统,以及使用XML串流。

Jabber协定目前由Jabber软件基金会管理,而Jabber协定的主要基础已经在RFC3920当中以XMPP之名被因特网工程工作小组(IETF)接受为因特网标准。Jabber和以SIP协定为基础的SIMPLE常被视为为即时通讯及Presence告知领域的竞争对手,然而XMPP的设计更倾向提供一个一般用途的、应用程式之间的中介软件设施。

2005年,Google发布了GoogleTalk,这是一个IP电话及即时通讯的服务,即时通讯功能采用了开放的Jabber/XMPP。预计这将对Jabber社区起很大的推动作用。初期此服务不支援服务器到服务器的通讯功能,所以未能完全发挥Jabber的分布式特色;虽然任何Jabber客户端都能连接到GoogleTalk,但是用户若欲登入GoogleTalk,必须拥有GoogleTalk帐号(即Gmail帐号),而用户也无法与公共Jabber网络的用户对谈。自2006年1月17日起,服务器到服务器的通讯启用了,GoogleTalk用户可与其他Jabber公共网络的用户对谈。

jabber - 优点

开放—Jabber协定是自由、开放、公开的,并且易于了解。而且在客户端、服务器、元件、源码库等方面,都已经各自有多种实作。

标准—因特网工程工作小组(IETF)已经将Jabber的核心XML串流协定以XMPP之名,正式列为认可的即时通讯及Presence技术。而XMPP的技术规格已被出版为RFC3920及RFC3921。

证实可用—第一个Jabber技术是JeremieMiller在1998年开发的,现在已经相当稳定;数以百计的开发者为Jabber技术而努力。今日的因特网上有数以万计的Jabber服务器运作著,并有数以百万计的人们使用Jabber即时传讯软件。

分布式—Jabber网络的架构和电子邮件十分相像;因此任何人都可以运行自己的Jabber服务器,使个人及组织能够掌控他们的即时传讯体验。

安全—任何Jabber服务器可以独立于公众Jabber网络(例如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已内建于核心XMPP技术规格中。

可扩展—XML命名空间的威力可使任何人在核心协定的基础上建造客制化的功能;为了维持通透性,常见的扩充套件由Jabber软件基金会管理。

弹性佳—Jabber除了可用在即时通讯的应用程式,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

多样性—用Jabber协定来建造及布署即时应用程式及服务的公司及开放源码计划分布在各种领域;用Jabber技术开发软件,资源及支援的来源是多样的,使得使你不会陷于被“绑架”的困境。

jabber - 运作方式

Jabber网络是基于服务器的(即客户端之间彼此不直接交谈),但是也是分布式的。不像AOL即时通或MSNMessenger等服务,Jabber没有中央官方服务器。Jabber.org的公众服务器上有大量的用户,所以有些人误解了,以为它是官方服务器,不过事实上任何人都可以在自己的网域上运行Jabber服务器。

Jabber识别符(JID)是用户登入时所使用的帐号,看起来通常像一个电子邮件地址,如someone@example.com;前半部分为用户名,后半部分为Jabber服务器域名,两个字段以@符号区隔。

假设朱丽叶(juliet@capulet.com)想和罗密欧(romeo@montague.net)通话,他们两人的帐号分别在Capulet.com及Montague.net的服务器上。当朱丽叶输入讯息并按下传送钮之后,一连串的事件就发生了:

1 朱丽叶的Jabber客户端将她的讯息传送到Capulet.comJabber服务器。
2 Capulet.comJabber服务器开启与Montague.netJabber服务器的连接。
3 Montague.netJabber服务器将讯息寄送给罗密欧。如果他目前不在线上,那么储存讯息以待稍后寄送。

Juliet   <---->  Capulet.com  <---->  Montague.net  <---->  Romeo

罗密欧与朱丽叶两人的Jabber服务是由两家不同的业者所提供的,而他们彼此传讯时,不须拥有对方伺服器的帐号,也不须成为对方业者的会员。

jabber - 连接其他协定

Jabber系统有一个独特的网关(也称作传送器)功能,该功能允许用户可以使用其他协议,如AOLICQMSNYahoo短信或者电子邮件。和TrillianGaim等其他多协议客户端不同的是,Jabber在服务器级别提供这个功能,任何Jabber用户都可以注册一个这样的网关来登录其他网络。也就是说任何支持Jabber协议的客户端都可以访问一个存在的网关,来与其他网络上的用户联系。

jabber - Jabber客户端软件列表

仅支持Jabber协议的客户端软件

开放源码
JeCat-Jabber(跨平台)http://jj.jecat.cn/
Bombus(J2ME/MIDP2.0)http://bombus.jrudevels.org/
cabber(跨平台)http://cabber.sourceforge.net/(过时)
Exodus(Windows)http://exodus.jabberstudio.org/
Freetalk(Linux/Unix)http://savannah.nongnu.org/projects/freetalk/
Gabber(Linux/Unix)http://gabber.jabberstudio.org/
Gajim(跨平台)http://www.gajim.org/
GOIM(跨平台)http://goim.sphene.net/
Gossip(Linux/Unix)http://developer.imendio.com/wiki/Gossip
IMCom(跨平台)http://nafai.dyndns.org/
Iruka(跨平台)http://www.nongnu.org/iruka/(过时)
jabber.el(EmacsLisp)http://intellectronica.net/emacs-jabber/
JabberFoX(MacOSX)http://jabberfox.sourceforge.net/(过时)
Jabberzilla(跨平台)http://jabberzilla.jabberstudio.org/
JabberWindowGramClient(跨平台)http://jwgc.blathersource.org/
JBother(Java)http://jbother.org/
Jeti(Java)http://jeti.jabberstudio.org/
Jeti/2(Java/eComStation/OS/2)http://www.ehlertronic.de/jeti2.htm
JWChat(JavaScript)http://jwchat.sourceforge.net/
mcabber(跨平台)http://www.lilotux.net/~mikael/mcabber/(cabber分支)
moJab(J2ME/MIDP)http://mojab.sf.net/
Psi(跨平台)http://psi-im.org/
sjabber(跨平台)http://www.pipetree.com/jabber/sjabber/(过时)
TheCoccinella(跨平台)http://hem.fyristorg.com/matben/
Tkabber(跨平台)http://tkabber.jabber.ru/
WhisperIM(Java)https://whisperim.dev.java.net/
wija(Java)http://www.media-art-online.org/wija/

免费软件
ColibryIM(J2ME/MIDP)http://violonix.com/
Gush(跨平台)http://2entwine.com/
JAJC(Windows)http://jajc.ksn.ru/
Pandion(Windows)http://www.pandion.be/
GoogleTalk(Windows)http://www.google.com/talk/
Spark(跨平台),http://www.jivesoftware.org/spark/
TipicIM(Windows)http://www.tipic.com/

商业软件
AkeniJabberClient(跨平台)http://www.akeni.com/
BellSouthMessenger(Windows)(BellSouth顾客免费)http://messenger.bellsouth.net/
Chatterbox(Web-JavaScript及Windows)http://www.clientside.co.uk/
Chatopus(PalmOS)http://www.chatopus.com/
JabberMessenger(Windows)http://www.jabber.com/
Neos(Windows)http://www.neosmt.com/
TipicME(J2ME-PersonalJava)http://www.tipic.com/
TipicWeb(JavaApplet)http://www.tipic.com/
TSIM(Windows)http://triplesoftware.nl/

支持Jabber的多协议客户端软件

开放源码
AdiumX(MacOSX)http://www.adiumx.com/
Bitlbee(跨平台)http://www.bitlbee.org/
Centericq(跨平台)http://konst.org.ua/en/centericq/
Fire(MacOSX)http://fire.sourceforge.net/
Gaim(跨平台)http://gaim.sourceforge.net/
Kopete(Linux/Unix)http://kopete.kde.org/
MirandaIM(Windows)http://miranda-im.org/
SimpleInstantMessenger(跨平台)http://sim-icq.sourceforge.net/

免费软件
Gizmo(VoIP)(跨平台)http://www.gizmoproject.com/

商业软件
Proteus(MacOSX)http://www.defaultware.com/proteus/
TrillianPro(Windows)(透过插件)http://www.ceruleanstudios.com/
iChat(只在MacOSXv10.4Tiger以上)http://www.apple.com/macosx/features/ichat/

jabber - Jabber服务器端软件

AntepoOPN(Java,商业软件)http://www.antepo.com/?products.opnserver
CorporateHardenedInstantMessagingEngine(Java,GPL)http://www.codecobra.com/chime/(尚未提供S2S支持)
ejabberd(跨平台的,GPL)http://ejabberd.jabber.ru/
JabberXCP(Linux/Solaris/Windows,商业软件)http://www.jabber.com/
jabberd(跨平台的,GPL)http://jabberd.jabberstudio.org
jabberd2(跨平台的,GPL)http://jabberd.jabberstudio.org/2/
JiveWildfire(nowisOpenFire)(Java,GPL)http://www.jivesoftware.org/wildfire/
MerakIM(Windows,商业软件)http://www.icewarp.com/products/instant_messaging/
Tigase(Java,GPL)https://tigase.dev.java.net/
xmppd.py(跨平台的,GPL)http://sf.net/projects/xmpppy/
SoapBoxServer(.NET,商业软件)http://www.coversant.net/server

jabber - 使用Jabber协议的客户端与服务器端对话的例子

客户端(kuusipuu)连接到一个Jabber服务器(amessage.de:5222/TCP),发送一条消息(主题和内容均为“test1449”)到另一个客户端(tero),然后登出。

kuusipuu:


http://etherx.jabber.org/streams"
xmlns="jabber:client"to="amessage.de">
amessage.de:


xmlns:stream='http://etherx.jabber.org/streams'
from='amessage.de'id='1461777714'>
kuusipuu:

amessage.de:



kuusipuu
mypassword
Work


amessage.de:


kuusipuu:

tero@example.com">
test1449
test1449


Loggedout

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值