可定制即时通讯系统研究与应用

来源 :浙江大学 | 被引量 : 0次 | 上传用户:zengqz
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当今流行的即时通讯系统有MSN、Yahoo Massager、ICQ、QQ、Google Talk等,但是这些IM系统基本都定位于个人用户,面向最广泛的群体,在商业应用中如果想要给本行业客户提供一个便利、集中的沟通和联系平台则这些IM就显得力不从心。本文所描述即时通讯系统来源于我们给一家商务旅游公司开发的IM系统。用户主要针对导游、旅行社、宾馆、个人等。提供旅游询价报价、即时通讯、语音聊天、P2P视频聊天、P2P资料传送、客户分类管理、专业用户群聊等功能。和普通的IM系统所不同的是,这个系统上的用户都是旅游行业内的专业客户,所以不论是宾馆、旅行社还是导游或有旅游意向的个人用户都可以方便地在本IM系统中找到对应的服务和客户群,进行旅游咨询、询价报价等操作。本文设计和实现了客户端和服务端程序框架,以及整体即时通讯网络协议。客户端程序的当前版本已经商用并实现了上述的所有功能。 本文首先列出了项目的需求和现实背景。第2章分析系统的架构设计,服务端的架构本文针对系统用户连接多的特点采用了多线程并发服务的模式并提出如下设计:①根据RFC2778把服务端分成Notification Service、Switchboard Service 2个互相独立的服务模块,可以配置到不同的服务器上提供多用户连接分布式服务,降低了对单个服务器的硬件要求,分流了用户连接。②针对用户的安全性和扩展性要求,设计了MD5和随机数组合加密的方式来保证用户数据的安全。同时在网络协议中加入版本自动升级功能来实现系统扩展和定制。③对于异构网络P2P连接建立的问题,提出通过服务端交互节点信息的方式来穿透防火墙和NAT最终建立P2P连接。 商用IM系统的关键技术在于大规模用户环境下服务端的稳定和客户端在各种软件系统环境和网络条件下的系统健康度上。本文第3章对系统实现所需的关键技术进行探讨并确定方案,首先在服务端的设计上针对半连接和死连接消耗服务器资源的问题提出2种解决方案:定时清楚缓冲池中死连接和定时发送数据包来消除半连接,从而保证了服务端程序的稳定。其次视频和语音的原始数据量巨大不适合网络传送,本文引入了H263和G711协议用程序实现视频和音频数据的压缩和解压缩并在网络上做P2P传送。本文第4章是系统的实现与应用,为了在不同版本的Windows下做到通用,我们在实现中尽量采用了通用的API和类库,并设计了一个客户端崩溃处理模块来收集系统出错时客户端所在机器的堆栈信息和操作系统信息,根据这些信息来协助本IM系统的改进。 最后,本文总结了本系统的特点和应用前景,并提出了可能改进的发向。
其他文献
搜索引擎是从互联网上快速而有效地获取信息资源的捷径。爬行器是搜索引擎的重要组成部分,它在搜索引擎中负责网络信息采集,是搜索引擎数据库中原始信息唯一来源。本文围绕着
云计算是近年来兴起的一种计算模式,它的主要特点是按需提供服务、按流量计费以及动态伸缩可扩展等。云计算整合了大量分散的软硬件资源,不仅提高资源的利用率,而且使得资源更加
随着网络技术的迅速发展和Java的广泛应用,基于Web的分布式体系结构正在不断发展。而计算机、网络技术的不断发展以及企业信息化进程的逐步引入,也使得企业内部存在各种各样的
在现实世界中,相当一部分具有模糊性的信息是Fuzzy集理论无法表示和处理的,而Vague集能够表示和处理更为丰富的具有模糊性的不确定性信息。采用Vague集来进行模糊信息处理的研
专家系统设计在它的核心部分——不确定性推理理论与方法上,一直以来都存在着不足。关于它的理论和应用有充分的空间待于发展。从有专家系统起,不确定性知识的表示和处理就是
随着软件产业的快速发展,软件规模越来越大,软件也变得越来越复杂,这些因素都使软件质量越来越难得到有效的保障。软件测试是保证软件质量的重要手段,如何使用有效的测试方法和合
语义Web的提出和发展给Web服务带来了新的活力。用语义Web的知识标记手段描述Web服务的语义,使Web服务成为计算机可以理解的实体,从而支持服务的自动发现、组合和执行等,就是倍
当越来越多的公司及政府部门将其核心业务向互联网转移的时候,网络安全作为一个无法回避的问题呈现在人们面前。传统上,公司及政府部门一般采用防火墙作为其安全防线,而随着攻击
近年来,脆弱性水印技术随着多媒体信息认证业务的发展而逐渐成为研究热点之一。各种方案层出不穷,但众多现有方案在面对实际需求时,却往往无法达到预期的认证效果。本文从图
计算机三维设计作为一个新兴产业,新艺术和新媒体提供了广阔的发展空间。但是在计算机三维设计技术高速发展的同时,也存在繁重低效的过程,也就是“渲染瓶颈”。为解决此问题,