admin 管理员组文章数量: 1184232
2024年3月19日发(作者:霹雳天越普通话版在哪里可以看)
基于Jabber的即时通信服务器的设计与实现
陈艳丽
1
,王海涛
1
,阳术国
2
1.湖南涉外经济学院计算机系,长沙 (410205)
2.北京邮电大学电信工程学院,北京 (100876)
E-mail:chenyanli508@
摘 要: 本文首先简要的介绍了Jabber及其特点。然后着重的分析了Jabber服务器的架构
及其各功能模块。最后给出了主要模块的实现方法。
关键词:Jabber,即时通信,Linux,服务器
1. 引言
自从第一个即时通信系统ICQ诞生以来,几大软件商和网站运营商都推出了自己的即
时通信系统。MSN,QQ,雅虎通等都积累了他们的用户,随着即时通信软件的增多,即时
通信系统市场也越来越混乱,各种系统都采用不同的、不公开的通信协议导致了不同系统之
间的互通的难度增大,为了交流,用户不得不申请多个帐户,开启多个客户端。Jabber的诞
生就是为了解决即时通信系统之间的互通的问题。它是一个协议开放的,可扩展的系统。为
即时通信的互通提供了解决方案。本文分析了Jabber服务器的架构,给出了主要功能模块
的实现方法。
2. Jabber概述
Jabber是一个基于Internet的,开放的即时通讯系统,也是一个基于XML Stream的协
议,用于在Internet上的两个实体之间交换信息,现场状态和其他的格式化信息。相比其他
的即时消息系统,Jabber具有以下几个关键的特点
[1]
:
1.
2.
3.
4.
以XML为基础。XML是互联网上应用之间推荐的交换格式,采用XML作为实体
分布式网络。Jabber服务器可以分布在网络各处,服务器之间可以进行通信。
开放的协议和内核代码。
模块化的、可扩展的系统架构。模块化的设计有利于系统的可伸缩性、安全性和可
之间通信协议的格式,便于协议的扩展。
扩展性。不同的模块可以运行在不同的服务器上,各司其职,可以适应各种数量级别用户的
系统的应用。
3. Jabber网络结构
如图一,Jabber网络由若干个服务器组成
[2]
,每个服务器可以给众多客户端提供服务,
服务器之间通过Internet相互连接。该网络中还存在一个网关服务器,负责协议的转换,以
和其他的即时消息系统进行互联。
- 1 -
图1 Jabber网络结构
4. 服务器程序框架设计
4.1 系统模块划分和功能
图二是服务器程序的框架图
[1]
:
服务器程序由7个模块组成,各模块的功能是:
C2S:
该模块负责管理客户端的TCP连接、负责用户的登陆认证和注册功能。同时把客户端
发送的信息通过Router模块转发到相应的模块,并且转发其他模块的处理结果和消息给客
户端。
SM:
当用户登录到Jabber服务器后,该模块负责与客户端的会话,即该模块是一个会话管
理模块。这个模块提供即时通信的主要功能,包括信息(主要是文本信息)的存储,信息的
转发,好友列表的保存,用户状态的相互通知。
S2S:
当用户需要发送消息到另外一个Jabber服务器上的用户的时候,就需要一个Jabber服
- 2 -
版权声明:本文标题:基于Jabber的即时通信服务器的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710799861a573749.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论