Jabber

Jabber 是著名的Linux即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。Jabber最有优势的就是其通信协议,可以和多种即时通讯对接。
 

1介绍

Jabber有第三方插件,能让Jabber用户和MSNYahooMessager、ICQ等IM用户相互通讯。因为Google遵从Jabber协议,并且Google已经将Gtalk的服务器开放给了其它的Jabber服务器。所以PSI、Giam等Jabber客户端软件支持GTalk用户登陆。
jabber

jabber

XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP的技术来自于Jabber,其实它是 Jabber的核心协定,所以XMPP有时被误称为Jabber协议。Jabber是一个基于XMPP协议的IM应用,除Jabber之外,XMPP还支持很多应用。
IEEE XMPP工作组(一个工程师和程序员联盟)正在改编XMPP以用作互联网工程任务组(IETF)技术。XMPP最终有望使用鉴定、访问控制、高级隐私、逐跳加密、端端加密以及与其它协议的相容等应用来支持IM。

客户端

Google官方公布的 Jabbe/XMPP客户端有:
Jabber. org 列出了更为详尽的客户端:Jabber Clients
Google已经将Gtalk的开发注意力转移到了Hangout上.这点从Google Developer API知识库中可以看到,Google已经将Gtalk转移到了Hangout上来。或者说Hangout是Gtlak的现时版本也可以。固本文中所有出现的Gtalk相关的词汇都应替换为Hangout。
Hangout同样支持XMPP协议,具体信息可以查看Google Developer API知识库。[1]

使用方法

Goolge官方列表中比较好用的是 PSI (使用方法见:PSI,导入MSN、Yahoo、ICQ到Gtalk)。
不在官方列表中的一个软件是 Pandion (下载),经测试,GTalk登陆速度要快于 PSI ,界面美观,使用方法:
①运行软件,先点击登陆窗口上的"Connection Settings"→在"Secure
Communication"栏中点选"Require SSL encryption",确定后返回登陆窗口,输入完整的GT账号登陆。
②导入其它通讯协议:登陆后依次点击主窗口上的 工具 → 网络桥连→ 其他桥接→ 输入一个服务器,如:Jabber. cn →
点击协议列表中相应的服务器,比如MSN → 下一步 → 输入MSN帐号、密码和昵称 →
完成。服务器会自动读取你现有的好友列表,并导入到Gtalk中。取消协议只要点击相应的服务器,点击"停止使用桥接"。
要感受到Jabber的妙处,一个稳定、多协议支持的服务器是必须的。除了前面提到的 Jabber. cn ,更多的服务器可以去 Jabber
Network 选择,它详细列出了每个服务器支持的协议类型,非常直观。
用了很久的Jabber Client,令人感到兴奋的是终于有QQ的Jabber服务器了。加入该服务后,QQ好友并不会显示在主窗口联系人列表中。询问管理员后得到的回复是:"由于害怕腾讯诉讼,我们没敢做成双向,现在仅仅是单向,你的好友列表不会被刷新出来。但是你的QQ好友和你说话时,会在我们这边显示出来,你也可以回复,很快wap版本将会推出。"

扩展应用

GTalk还设有群组功能,但通过一个消息转发工具,可以实现聊天室功能(打造你自己的Gtalk聊天室)。如果还想让非GT用户加入GTalk群聊,就可以通过Jabber客户端网络桥接的方式实现。例:注册一个MSN账号作为公共账号,并将其桥接到GTalk群聊账号中,再让MSN用户添加该公共账号就可以让他们加入GT聊天室。其它协议亦然。
注:常用Jabber服务器参考地址:
====================================

2许可证

Jabber许可证的全称是Jabber Open Source License,由美国Jabber. Com, Inc.公司提供。Jabber许可证在源代码的复制、发行规定方面基本上和其他许可证没有什么特别,但有一些细节规定值得借鉴:
◆ 可以将通过该许可证获得的源代码及修改过的源代码与其他类型的不受该许可证约束的代码结合,以新产品的形式发布,只要其中经该许可证获得的源代码及修改过的源代码能以与该许可证的要求类似的、符合OSI认证的其他开源软件许可证的方式发布。
◆ 明确了需将源代码置于公众可以得到的状态的时间至少应为12个月。
◆ 第三方对法定权利的声明。假如使用者发现通过本许可证获得的源代码及应用程序接口中有一方拥有的知识产权,应单独在源码的发布时冠以“LEGAL”为抬头的声明,写明知识产权权利要求的细节,提请源代码的接受者知道自己获得了哪些知识产权的授权,让源码的接受者知道如何与知识产权权利人联系。
◆ 细化了该许可证终止的情形,包括不按该许可证的要求发布和使用源代码、发生专利侵权诉讼。

3应用

国人已经开发出jabber的应用:JeCat-Jabber(简称:JJ) 是一款完全由 PHP 开发的即时通讯软件。JJ 采用 Gtk2 图像界面库来实现用户界面。顾名思义 JJ 使用 Jabber 协议(XMPP) ,因此可以 和 包括 GTalk 在内的 其它任何 XMPP即时通讯软件聊天。
JJ 的特点:
> 跨平台,JJ 在Linxu 环境下 开发,在 Windows 平台上也一样可以正常使用。
> 实用 标准的 XMPP协议,能够与其它的 Jabber软件互相通讯,例如 Google GTalk、Pidgin、PSI、Spark、Pandion,以及其它的 Jabber网页聊天窗口
> 可更换界面皮肤,皮肤样式文件 采用 类似 CSS 的语法,便于美工独立工作。
> 纯 PHP 实现,从 通讯协议 到 图形界面,全部都由 PHP 开发,如果你正好是一名 PHP程序员,你可以驾轻就熟地在 JJ 之上进行二次开发。
> 可整合到你的网站中。JJ 的完善 会使 JJ 更容易地 为你的网站所有,让你的网站 也可以有像淘宝旺旺那样的 专用聊天工具

4优点

开放—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技术开发软件,资源及支援的来源是多样的,使得使你不会陷于被“绑架”的困境。

5运作方式

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服务是由两家不同的业者所提供的,而他们彼此传讯时,不须拥有对方伺服器的帐号,也不须成为对方业者的会员。

6其他协定

Jabber系统有一个独特的网关(也称作传送器)功能,该功能允许用户可以使用其他协议,如AOLICQMSNYahoo短信或者电子邮件。和TrillianGaim等其他多协议客户端不同的是,Jabber在服务器级别提供这个功能,任何Jabber用户都可以注册一个这样的网关来登录其他网络。也就是说任何支持Jabber协议的客户端都可以访问一个存在的网关,来与其他网络上的用户联系。
posted @ 2013-12-16 15:28  zhengrunqiang  阅读(661)  评论(0编辑  收藏  举报