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 -


本文标签: 模块 系统 用户 服务器 信息