当前位置:
文档之家› 基于XMPP协议文件传输的研究与实现
基于XMPP协议文件传输的研究与实现
第4期
施济瑜,等:基于XMPP协议文件传输的研究与实现
·733·
(3)节点指定目标地址,让服务器告知目标状态。
认证包通过检查LDAP(Light Directory AccessPmtoc01)用于
(4)服务器查找、连接并进行相互认证。xDB-ldap子组件。
(5)节点之间进行交互。
(3)连接管理器:管理和客户端之间的连接。
由Jabber公司创立、用于现场消息路由处理的Ⅺ儿数据流协
议【41,是即时消息处理系统的基准协议技术,可以为网络间连 接提供安全和易于实现的编程ຫໍສະໝຸດ Baidu言环境。Ⅺ衄P工作原理图如 图1所示。
工作原理:
(1)节点连接到服务器。 (2)服务器利用本地目录系统中的证书对其认证。
中华测控同
chin锄ca 万.c方om数据
信中发挥着越来越重要的作用。煳PP的出现,实现了整个即
时通信服务协议的统一。有了这个统一的协议之后,使用任何 一个组织或者个人提供的即时通信服务,都能够无障碍地与其 他的即时通信服务的用户进行交流。目前,即时通信领域正在 掀起一股新的潮流,世界最大的搜索引擎公司go091e推出的
9009le ta№就是一款基于Jabber/Ⅺ唧P协议的即时通信软件。
【Z】.2000.
参考文献:
【l】陈云洽,等.∞应用技术与数字系统设计嗍.北京:电子工业出版社.
2003.
【2】Dcvi∞Engin∞曲g k.DEIl 016AlⅢ屺429 1h皿s∞iv珂【刁.20∞.
【4】童长飞.c805lF系列单片机开发与C语言编程[M】.北京:北京航空航 天大学出版社,2005.
了一个类似e-mil系统的分布式网络。服务器知道一个用户什
么时候在线,这个能力被称为在线,也是即时通信的核心所在。 xMPP通过两个重要特性提供这些IM标准功能:首先是一个
允许消息系统间协同作业的开放协议;其次是建立在Ⅺ儿上
的强大根本,它使得非但是两个人之间的通信,甚至是应用
软件之间的通信成为了可能。Ⅺ儿是Ⅺ卿P信息传输的核
数据信息的定义。用来构建一个具有空间接收、发布 能力的即时信息系统。但其在实际领域没有完整的应 用。
3基于xMPP协议的文件传输设计与实现
基于XMPP协议的文件传输主要采用两套方案:(1)对于 同一局域网两用户的文件传输主要通过Scoket(套接字)进行 点对点文件的互发;(2)在scoket(套接字)建立不了连接的 情况下使用服务代理来处理文件传输。
oth盯
jn山e廿a删ssi仰systcm flmcti伽l modul船.Mainly jn臼硼uc嚣五1e仃孤s衙pan ofthc5ysteIn—used to
f研doc啪锄ts and di百tal siglla“珊丘1c.卸pncati咖
show也at:Based on tlleⅫ口P pro‰ol wi也ⅪvfL naw of们mⅡlissi∞is supcrior t0 ott料Ⅱ订geneml孵优m饥t.
h戗眦等。
图lⅪ心P工作原理图
1.2 即时消息协议的比较 目前,IM通用协议包括Ⅺ江PP、SIMPLE,IMPP共3
个代表。
(1)Ⅺ旧P协议:由mTF的)0咀'P工作组依据Ⅺ’C2779嘲
种定义的需求,结合了实际应用中Jabb盯协议制定。采用c/s 系统模式,有网关与其他即时消息服务器相连,从而实现多种 不同即时消息的互联互通。在应用领域,主要以Go091e Talk’
最为通用的API,它也是在Int锄et上进行应用开发最常用的
API。开发人员可以直接调用Java中的API来实现基于Socket 的文件传输。 3.3文件传输的流程图
文件传输的基本流程如图2所示。
与用户Bt立连接
2基于Ⅺ订PP协议的即时通信系统
2.1 XMPP服务器
Ⅺ旧P的服务器由若干个组件组成,他们分别完 成逻辑上独立的功能。项目主要是在ol脚丘re基础上 『 进行扩展。服务器的内核是一个Ⅻ佃P路由器。完成 基本组件之间的数据包路由和交换。Ⅺ旧P服务器内
Jive Messager为代表。Ⅺ旧P在Ⅺ咀。结构化数据中扮演通用
。传输层”的角色,能使数据高效路由到最合适的请求源。除
了实现蹦的互操作性,Ⅺ胛P另一个重大用途是通过各类应
用实现现场实时信息处理。比如,C蹦、协同软件等都可作
为Ⅺ咿P的客户端,所有实体对于ⅪVmP服务器都是透明的,
实体中(2的)S任m何 口用LE户协的议状:态由对与匠其I下他用 的户Sm都眦是工可作见组的。织制定,通
co咖ls a孕煳cnt Abstr-ct:IⅡC/S nctworl【mode,tllc u船ofop即一source Java 1angllage and dcVelapmeⅡt tools Echp辩,wim SwT
to achicVc an
bi嘲宦d
sig晚眦s,advenising锄d ∞吐圮Ⅺ口P instant mcs缸ging Systcnl.Systcm include:sin91e chat,cIlat groups,Vi如o and Voice chat,五lc仃孤sf札digital
(2)数据存储器(xDB):连接数据库系统、保存用户信息、
顶级元素中<message.f>顶级元素,设置节点将接收方、发送方、
通信日志等。)a)B包括xDB』le和)a)B—l血p子组件,在
对用户认证时,明文认证包发送给ⅫB—Jile子组件,数字
文件流等信息通过Ⅺ沮。流的形式进行传递。 (下转第741页)
对应的名字空间在Im锄et上从一客户机传输到另一客户机。
3.2使用socket技术 Socket是建立在传输层协议(主要是TCP和U】)P)上的一
种套接字规范。Socket屏蔽了底层通信软件和具体操作系统的 差异,使得任何2台安装了TCP协议软件和实现了Socket规 范的计算机之间的通信成为可能。S0cket接口是TCP/口网络
核处理以下的公共任务组件:
- ■务■
成功
不成功
丑垃s∞k进行文件侍■量过最务■代理进行文件传■
-
}…一发送^的文件请采~ 一叫
用户B
I.
.卜…粥篙嚣虚h…{
图2文件传输的基本流程图
(1)会话管理器:负责客户端会话认证,在线状态、用户 联系表等。
3.4软件实现
发送请求、请求响应部分主要用到了Ⅺ旧P协议的3个
过对于S口协议的扩展,使其支持蛐s服务。体系结构与SP
基本相同,SmⅡ'I,E的目标是要用一种统一的形式来管理多种 媒体形式。利用了s口的请求重定向功能来发送Pre∞nce信息,
与)0皿P所要实现的提供实时,可靠的异步数据传输服务的目
标不同。
(3)m口P协议:由ⅢTF的附P工作组制定。包
括了m服务模型定义、通用功能接口的定义、统一
3.1Ⅺ旧P协议的应用
<pre鲫Ⅺ∞仰eP份协;议<主iq要胁定(蝴义∞了叻三悯个,顶每级一Ⅺ个皿元。素元通素过<m属es性sa和ge名份字l
空间包含大量的数据,达些属性和名字空间都是Ⅺ旧P协议 的组成部分。在本文的文件传输中主要用到了Ⅺ皿P协议的
<message/>顶级元素,将文件的二进制流信息通过设置属性和
壬华军(19佴),男,四川眉山人,博士后,教授、博士生导师.主
要从事通信及计算机方向的研究.
b他met上最成功的消息系统,即唧ail。其路由处理的内核采
用国际惯常的逻辑寻址机制,代表格式为:节点@域/资源。
在Ⅺ旧P协议中,这种模式被称为Jabber D(皿D)。其中,域
可在DNS中查找,类似于电子邮件地址中的域名部分,节点 可表示某Ⅱ“用户、一类应用或某项服务,资源为一类连接标 识,能让某单一用户多次重复登录连接。每个用户都有自己的 本地服务器(即自己的注册服务器),并从该服务器上接受信 息,所有从一个客户端发给另一个客户端的消,皇,和数据都必须 通过服务端。每一个xMPP服务器都独立于其他xMPP服务器, 并且拥有其自身的用户列表,通过Intemet,这些服务器构成
【5】徐维.数字电子技术与逻辑设计咖.北京:中国电力出版社.20嘶.
·磊·伽·最·和-西·秘·磊南··6·妒_彝l·伽-秭南··西·伽·磊·协·西南·-6·伽·晶而··西两··秭J》·而·舾·而南··西·伊·矗南··而南一-6·伽·而知
(上接第733页)
3.4.1文件发送与实现
(1)建立SenrerSocket监听的主要代码
关键词:c/s网络;Ⅻ口P协议·即时通信l文件传输,数字签名,Ⅺ讧L流
Desi2n and Implementation of File 11ransfer Based on XMPP Protocol
ShiJi”,Miao Fang,Wang Huajun,Li Gang
(C01lege ofItlfommtion Enginee血g,Chengdu UniverS时of Techllolo鼢Ch∞gdu 610059.China)
在JA、,A的编程中,客户端对)aⅧ)P协议的使用一般可通过
S瑚ck类接口来处理,使程序员从繁琐的协议定义中脱离出来,
完全专注于用户界面的开发。
l XMPP协议标准
1.1ⅪuPP协议概述及其工作原理
Ⅺ旧P是开放协议和内核代码的急促即时消息处理系统
(JabberⅡvI)的基准协议技术,它提供了一种开放式的、基于 ⅪⅢ。(Exte船ible Mark叩L柚g岫ge)的、能在分布式网络中
启动一个线程建立senrers∞ket监听,
public void咖O{
//启动7777端口监听 ServerSockct listeningSocket=new ServerSocket (7777):
(4)服务器连接器:管理)0“PP服务器之间的连接。
(5)传输器:建立Ⅺ旧P服务器与非Ⅺ旧P服务器通信。
2.2 XMPP客户端
项目的Ⅺ旧P客户端界面设计主要采用swr,业务处理
继承s麟k库。Ⅺ皿P客户端的形态也是多种多样的,有基
于消息模式,支持端到端的,比如JiveMessage的spark客户
端l有通过w曲浏览器接入Ⅺ旧P客户端的,像Googk Talk、
传输即时消息和在线发现的标准,并解决了不同蹦(Instant MessagiIlg)系统间互操作的问题【”】。Ⅺ旧P在设计上沿袭了
收藕日期:2008.07—09I 謦回日期:2008.08-27。 基金项目:国家发改委项目(发改办高技[2006]2535号)。 作者简介:施济瑜(1984-),男,安徽人,硕士研究生,主要从事计算 机软件与理论方向的研究。 苗放(1958·),男.北京市人,博士,教授、博士生导师,主要从事 计算机网络与3s技术方向的研究。
万方数据
中华测控霸
ctliIl锄ca.com
第4期
陈玉枫,等:基于cPLD的ARTNc429通信板卡设计
·741·
信技术必将住民机、军机的机载设备中得到越来越J“泛的应用。
【3】DeVicc Enginecring Inc.BD429/Rs-429 LiⅡc DriVefIntegrated circuit
心,它最重要的作用是系统的底层可扩展性,它能表述几乎任
何一种结构化数据。Ⅺ帅P利用ⅪⅢ。数据流进行客户端-服
务器端以及服务器端·服务器端的通信。另一方面,这也使得 实现与第三方服务(如:MsN Messenger、Y址00 Messenger、 ICQ、JⅦM)进行信息传输的。传输器”成为可能。ⅪⅧ巾是
Key words:c/S珊:t、vofl【;xMPP P∞t∞ol;ins诅nt m龉sa百ng;丘le心a珊衙;di百t“s谊呲u聆;Ⅺ沮,sⅡ∞m
O引言
随着我国计算机技术及网络技术的迅速发展,Ⅺ旧Pme
Extemible Messaging∞d Prescnce Pmtoc01)协议…在计算机通
文章编号:167l-4598(2009)04一0732.02
中图分类号:TP311.52
文献标识码:A
基于XMPP协议文件传输的研究与实现
施济瑜,苗放,王华军,李 刚
(成都理工大学信息工程学院,四川成都6l0059)
摘要: 在C,s网络模式下,利用Java语言及开源的开发工具Eclip辩,结合swT控件实现基于ⅪⅢ巾协议的即时通信系统-系统主要包括 单人聊天、群聊天,视频和语音聊天,文件传输、数字签名.广告播放等功能模块·主要介绍文件传输部分——用于系统中传输文件和数字签名 文件。通过实例应用表明.采用基于)a旧P协议进行xML流的传输优于其它DvI通用协议。