学位论文 > 优秀研究生学位论文题录展示
基于XMPP的P2P即时通信系统的研究及实现
作 者: 徐航
导 师: 张尧弼;朱喜春
学 校: 上海交通大学
专 业: 软件工程
关键词: 即时通讯 XMPP P2P NAT
分类号: TN915.02
类 型: 硕士论文
年 份: 2011年
下 载: 82次
引 用: 0次
阅 读: 论文下载
内容摘要
随着中国网民数的不断增加,即时通讯在人们的生活中起着越来越重要的作用,它已经成为目前人们在网上的主要沟通工具。即时通讯是指由两个或多个参与者通过因特网或者其他类型的网络,进行的一种实时的并且主要是基于文本的通讯。即时通讯跟其他通讯技术比如电子邮件相比,其主要优势在于用户之间的沟通是同步的,即聊天是实时进行的。有一些即时通讯系统还会允许用户发送消息给另外一个离线用户,这就使得它也有了类似电子邮件的功能。目前大多数即时通讯系统采用Client/Server架构,这样就使服务器的地位比较关键,系统的瓶颈在服务器上。但最近出现的P2P技术使这一问题得到解决。本文提出了一种有服务器辅助的P2P架构,较好地在改善系统管理和提高系统效率方面做出了平衡。XMPP(Extensible Messaging and Presence Protocol)是近来比较流行的一种即时通讯协议。它以XML为基础,并且是一种开放式协议。XMPP有灵活性和开放性的特点,任何人都可以实现自己的XMPP服务并与其他组织的XMPP服务进行交互,亦即只要是遵守XMPP开发出来的系统,不管它的开发者是谁,理论上都可以互相通讯。XMPP甚至也定义了和采用其他协议的系统进行通讯的流程。同时,目前IPv4地址已经分配完毕,许多公司和组织已经开始向IPv6地址过渡,但网络地址转换(Network Address Translation,简称NAT)技术成为了解决IPv4地址匮乏的主要技术,它可以将内网中多个节点映射成一个外部IP地址,或者相反,以此来解决IP地址匮乏的问题。现在很多公司或组织的网络都采用了NAT技术,因此研究即时通讯系统的NAT穿越问题无疑具有十分重要的实用意义。本文在介绍XMPP即时通讯协议相关技术的基础上,实现了一个基于XMPP的P2P即时通讯系统原型,系统采用事件驱动机制,以观察者模式进行设计。主要功能包括:用户注册、用户登录、用户好友管理、文本通讯等功能。在对NAT的工作机制进行分析的基础上,深入研究P2P通讯穿越NAT的方法,选择客户端可集成的STUN(Session Traversal Utilities for NAT)协议实现了NAT的穿越。
|
全文目录
摘要 6-7 ABSTRACT 7-10 1 绪论 10-17 1.1 研究背景及意义 10-11 1.2 国内外研究现状 11-14 1.3 技术路线及技术难点 14-16 1.3.1 系统总体设计 14 1.3.2 客户端设计 14 1.3.3 技术难点 14-16 1.4 文章结构介绍 16-17 2 客户端总体设计 17-23 2.1 客户端需求分析 17 2.2 客户端功能分析 17-19 2.3 系统总体设计 19-20 2.4 客户端总体框架 20-22 2.5 本章小结 22-23 3 XMPP 流程分析 23-44 3.1 基本概念 23-24 3.2 客户端与服务器连接流程 24-27 3.3 用户注册功能流程分析 27-28 3.4 用户登录功能流程分析 28-32 3.5 好友列表功能流程分析 32-36 3.6 文本消息通信功能流程分析 36-37 3.7 用户在线状态功能流程分析 37-42 3.8 订阅管理功能流程分析 42-43 3.9 本章小结 43-44 4 客户端详细设计与实现 44-56 4.1 客户端设计原则 44 4.2 用户注册功能 44-46 4.2.1 功能类设计 44-45 4.2.2 主要功能类实现 45-46 4.3 用户登录功能 46-47 4.3.1 功能类设计 46-47 4.3.2 主要功能类实现 47 4.4 好友列表功能 47-49 4.4.1 功能类设计 47-48 4.4.2 主要功能类实现 48-49 4.5 文本消息通信功能 49-51 4.5.1 功能类设计 49-50 4.5.2 主要功能类实现 50-51 4.6 用户在线状态功能 51-52 4.6.1 功能类设计 51 4.6.2 主要功能类实现 51-52 4.7 订阅管理功能 52-53 4.7.1 功能类设计 52-53 4.7.2 主要功能类实现 53 4.8 模拟测试 53-55 4.8.1 测试目的及环境 53 4.8.2 测试程序解析 53-54 4.8.3 测试流程及结果 54-55 4.8.4 测试结论 55 4.9 本章小结 55-56 5 客户端设计关键问题研究 56-67 5.1 NAT 类型简介 56-60 5.1.1 NAT 工作原理 56-57 5.1.2 NAT 的分类 57 5.1.3 NAPT 的映射策略 57-60 5.2 NAT 对P2P 影响的分析 60-61 5.3 P2P 穿越NAT 技术 61-64 5.4 STUN 穿越NAT 方案 64-66 5.4.1 模拟测试 65-66 5.5 本章小结 66-67 6 结论 67-69 6.1 论文的主要工作 67 6.2 进一步的研究工作 67-69 参考文献 69-71 附录一 文本消息发送/接收测试程序 71-75 致谢 75-76 作者攻读学位期间发表的论文 76
|
相似论文
- 基于NS2的PeerCast模拟平台设计与实现,TP311.52
- 基于聚类分析的P2P流量识别算法的研究,TP393.02
- 胶片剂量仪在调强放射治疗剂量验证中的应用研究,R815
- 即时通讯时代人的主体性反思,N02
- 音像广播远程教育系统中直播服务器的设计与实现,TP311.52
- 基于P2P流媒体系统的设计与实现,TN919.8
- 基于P4P的流媒体点播系统研究与实现,TN948.64
- 基于Winsock的C/S模式即时通信系统的设计及实现,TN914
- SIP Trunk网关穿越NAT的方案设计与实现,TN915.05
- 一种IPV4/IPV6混合网络下P2P直播系统资源共享方法,TP393.02
- 基于P2P架构下的移动“全球眼”系统实现及性能分析,TN929.5
- 机器人云操作平台的研究与实现,TP242
- 一种无主控制的云存储架构的研究,TP333
- 分布式图像管理系统的设计与实现,TP311.52
- 基于混合式P2P动态拓扑构造系统的应用研究,TP393.02
- 互联网络下载协议的分析和实现,TP393.093
- 基于SIP协议的VoIP技术在校园网络上的实现,TN916.2
- 负载均衡技术在防伪税控系统中的应用,F812.42
- 结构化P2P系统的负载均衡技术研究,TP393.02
- P2P流量识别技术的研究与实现,TP393.06
中图分类: > 工业技术 > 无线电电子学、电信技术 > 通信 > 通信网 > 一般性问题 > 通信网结构与设计
© 2012 www.xueweilunwen.com
|