基于SOCKET的即时通信系统设计与实现学士学位论文.doc
《基于SOCKET的即时通信系统设计与实现学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于SOCKET的即时通信系统设计与实现学士学位论文.doc(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、理工大学学士学位论文摘 要随着网络通信技术和计算机技术的进一步发展,即时通信(Instant Messaging)正在成为网络在线活动中不可缺少的业务,对它的研究是互联网应用中一个热点课题。即时通信软件的诞生,推动了企业工作效率的提高,降低了办公费用,给企业的管理带来了新的思路和方法,并引起了人们对该应用领域的关注。本文在现有的网络通信技术、数据库技术和信息安全技术的基础上设计并实现了新型的企业即时通信系统(EIM,Enterprise Instant Messaging)。该系统为用户提供了一个集文字通信、文件传输于一体的即时通信平台,基本满足了企业用户的要求。在对即时通信系统的服务器端和客
2、户端的主要组成模块详细剖析后,论文研究了各个模块的详细设计和实现方式,分别研究了每个模块的主要功能,并给出了模块运行效果图。系统实现后,对系统进行了功能测试,并分析测试数据。实验数据表明,该系统具有易于实现、可靠性高、易于扩展、传输效率高等特点,达到了预定的设计目标。关键词:即时通信,Socket,通信模型, 文件传输AbstractWith the network communication technology and the further development of computer technology, instant messaging (Instant Messaging)
3、is becoming an indispensable network of online business activities; its research is a hot topic in Internet applications. The birth of instant messaging software, to promote the work efficiency of the enterprise, reducing business costs, to the enterprises management has brought new ideas and method
4、s, and aroused the concern of the applications. The subject in the existing network communication technology, database technology and information security technology based on the design and implementation of a new type of enterprise instant messaging system (EIM, Enterprise Instant Messaging). The s
5、ystem provides users with a set of text communication file transfer, instant messaging platforms in one, basically meet the requirements of business users.Then, the paper of the instant messaging system server and client modules of the main components of a detailed analysis, discusses the detailed d
6、esign of each module and implementation, respectively, described the main function of each module, and gives the module flow chart. Finally, the paper of the instant messaging system designed for server-side performance test, and test data were analyzed. Experimental data show that the system has ea
7、sy to implement, reliable, scalable, and high transmission efficiency, achieved its design goals. Keywords: Instant Messaging, Socket, Communication Model, File Transfer目 录1 绪论11.1 课题背景11.2 研究现状11.3 研究意义21.4 研究内容31.5 论文结构31.6 本章小结42 SOCKET相关技术研究52.1 主流即时通信模型52.1.1 P2P模型52.1.2 C/S模型62.2 即时通信主流的通信协议72
8、.2.1 UDP协议72.2.2 TCP协议82.3 Socket技术82.4 多线程技术92.5 JDBC技术102.6 开发工具介绍112.6.1 Eclipse简介112.6.2 MySQL简介122.6.3 Visio简介132.7 本章小结133 对SOCKET通信需求分析143.1 即时通信系统总体需求143.2 系统功能描述143.3 系统协议的选定143.4系统设计性能分析153.5 本章小结154实现SOCKET通信的方案和关键模块的设计164.1系统总体结构的描述164.1.1系统功能模块设计174.2服务器端工作流程194.2.1客户端工作流程214.3 总体实现方案和类
9、的设计224.4关键模块详细设计与实现234.4.1 利用Socket进行TCP连接234.4.2面向连接的Socket机制的模块设计274.5 文件传输模块284.6本章小结295 对程序进行调试与测试,并对结果进行分析305.1 Socket通信的应用305.2聊天服务器端305. 3聊天客户端325.4聊天系统的运行界面33结论34具体工作如下34参考文献35致谢37附录A英语原文38附录B汉语翻译53IV1绪 论即时通信(Instant Messaging)软件是我国目前上网用户使用率最高的软件之一,即时通信系统(Instant Messaging System)可使人们在网上识别在线
10、用户并与之实时交流。目前,即时通信和电话、传真一样,已经成为企业员工商务沟通中广泛使用的交流工具,但个人即时通信软件在提高了沟通效率的同时也带来了一些难以管理的问题,如安全性问题、用户伸缩性问题等。如何使即时通信真正为企业服务,发挥其长处,并对其有效管理,已经成为研究的一个新课题。为此论文研究开发了企业级即时通信系统,此系统具备个人即时通信系统的功能,是一款可管理、可控制的企业级即时通信系统。通过对国内外现有的即时通信软件详细地分析研究,提出了不同的即时通信模型,构建了适合于企业的即时通信系统,并通过实践验证了其具有很好的可行性与适用性。1.1 课题背景企事业的信息化发展,越来越需要不同系统协
11、同工作,这就要求通过网络进行即时通信。现在企事业单位采用电话和电子邮件通信手段,虽然起了很大的沟通作用,但还是无法实现即时通信。还有些单位采用市面上流行的即时通信软件,比如ICQ、腾讯QQ、EMS等软件,但这些软件一般针对个人通信,属于公共服务软件的一种,处于开放网络环境下,聊天对象与聊天内容不可控制,上班时使用EMS、QQ可能会降低工作效率。EMS、QQ必须登录Internet才能使用,因而它们在为企事业或机构用户提供协作支持的同时,也带来了来自公众网络的信息干扰,存在影响工作效率和信息安全的隐患,所以并不太适合企(事)业内部的通信。还有的就是使用在本地局域网内即时传送消息和文件的小工具比如
12、WinpopupX,它没有服务器端,通过在线列表和操作系统的网上邻居获取在线用户或以网上邻居中的计算机为对象进行通信,没有安全性也不便于企业管理。在这种情况下,有必要自主开发企事业内部的即时通信软件1。1.2 研究现状目前,信息产业在我国发展很快,已取得了一些成就。国家研究院对中国信息化调查结果显示,“实时企业”这一概念被受访者认为是中国信息化最有应用前景的技术,认同率高达60%2,显示了即时通信软件在国内市场强劲的发展势头。即时通信软件在中国市场迅猛增长,各路厂商们正在纷纷推出自己的产品,能满足企业需求的还是比较少。而且目前的即时通信系统大多存在以下问题:1标准化目前即时通信的发展存在的最突
13、出问题就是相关通信协议和标准不统一,各个即时通信软件采用不同的语言和协议标准而无法相互通信3。由于各大即时通信厂家考虑自身的商业利益,到目前为止还没有完全制定统一标准的通信协议。但作为一种基于IP技术的通信基础软件,即时通信最终成为互通互联、开放式的在线通信工具肯定是大势所趋。即时通信已经成为语音及文本的在线实时通信的主要技术,它必将成为未来移动商务、在线协作及Internet应用的核心,同时也将继承IP技术的开放风格,扮演比电子邮件更为重要的角色。2安全性在即时通信系统的发展过程中,如何保障系统安全、为用户提供的可靠服务同样重要。一个即时通信系统可能会保存大量用户的个人信息,如何保证这些信息
14、的安全将是一个长期课题4。所以,建立统一、完善的安全体系也是未来发展的一个主要趋势。3伸缩性即时通信从支持几十个个人用户,到支持上百万的个人用户同时在线,这需要一个非常好的可伸缩性,如何建立一个好的可伸缩的体系结构支持高并发量的用户群体也是即时通信软件提供商要面临的问题。1.3 研究意义随着网络技术的发展,即时通信正在成为在线活动中不可或缺的业务。由于即时通信服务是一种公共服务,处于开放网络环境下,因而它为企业或机构用户提供协作支持的同时,也带来了来自公众网络的干扰,存在影响工作效率甚至信息安全的隐患。从个人即时通信向企业即时通信的演化,是目前即时通信领域的研究热点5,基于Socket的即时通
15、信技术的出现则解决了这一问题,其主要作用包括以下几个方面:1应用了目前最为流行的即时通信技术,使员工之间快速、便捷的交流。将大部分工作由手工处理转变为计算机处理,减少了人工错误和通信成本,提高了工作人员的工作效率。2建立了一个局部的管理的环境,通过建立安全对等组,实现一个可在局部范围内从事特定工作的区域。3建立了一个具有监督机制的环境,在安全对等组中,根据安全级别的高低,各个成员对等点的某些特定行为可以被监控并作相应记录。1.4 研究内容通过对市场上现有的国内外商业级即时通信系统的功能、架构详细的研究,将一些技术和想法融入到系统的实现过程中,论文研究的基于Socket的局域网即时通信系统主要实
16、现点对点的私聊、多人群聊、即时发送文件和历史记录的保存等功能。主要实现方法包括:1利用WinSock技术实现实时通信 整个系统通信基于TCP/IP的通信技术,通过调用WinSock的API实现相互之间的通信,而WinSock利用下层的网络通信协议功能和操作系统调用实现实际的通信工作。2采用P2P与C/S混合模式来实现整个系统的通信架构确定用户之间通信模式为P2P模式便于直接通信高效传输信息,用户与服务器之间采用C/S模式用于通信的初始联接及保存用户信息和通信过程中的一些相关数据。3应用多线程 使网络服务器具有了多用户访问数据转发的功能,进而解决多用户间的并发通信问题。4通信协议的解析与约定 确
17、定客户端与服务器端之间及客户端与客户端之间的通信协议。 5数据库的管理与应用研究系统服务端使用的数据库访问技术。 6界面实现在界面实现的基础上完成具体的设计与实现工作。 1.5 论文结构论文共分六章。第一章为绪论,介绍了本文的研究背景,提出了实现即时通信的关键技术,并阐述了这些技术在国内外的研究现状以及开发此通信软件的必要性与可行性,进而提出了本文的研究方向,即设计一个企业即时通信系统。第二章对系统应用的相关技术进行描述,主要描述实现系统所需的通信原理、网络编程基础以及一些技术方面的基本概念与基本思想。第三章是系统总体设计,介绍了软件的整体(服务器和客户机)设计思路和概要设计,从总体上介绍软件
18、的设计要求、工作流程以及各个功能模块,对系统中的关键技术进行阐述。第四章对实现Socket通信的各个模块进行了研究与分析。第五章是系统的测试与结果分析,为了达到可靠性和可用性,对软件进行了功能测试。第六章也是全文的最后一章,对全文所开展的工作进行了总结。1.6 本章小结本章首先介绍了该课题的课题背景,初步认识该系统,了解了研究该系统的重要性。接着介绍了国内外研究现状以及研究意义,了解了该系统在当今社会上的定位以便于在前人研究基础上能有所创新。接着介绍了研究内容,明确了该系统所研究的方向和内容。最后对整个论文的组织结构进行了描述,使参阅者对论文有大致了解。2 Socket相关技术研究企业即时通信
19、系统是在客户端服务器程序设计基础上按照软件工程设计思想,采用大量的计算机程序设计技术和网络通信技术设计并实现。本章主要研究主流的即时通信模型、网络通信技术、程序设计等。2.1 主流即时通信模型当代主流的即时通信模型主要有P2P模型与C/S模型,两种软件各有利弊,许多计算公司把P2P和C/S一样的看重,经常把两者结合在一起使用。2.1.1 P2P模型P2P(Peer to Peer,对等连接或对等网络)模型,是指网络中的物理节点在逻辑上以相同的地位进行通信的模型,而不是处理能力的对等6。相对于C/S模型,其弱化了服务器的概念,系统中的各个节点不再区分服务器和客户端的角色关系,每个节点既可请求服务
20、,也可提供服务,节点之间可以直接交换资源和服务而不必通过服务器。P2P的最大特点就是用户之间直接共享资源,使得PC不再是被动的客户端,而成为具有服务器和客户端双重特征的设备,当然P2P也有许多不足之处。首先P2P缺乏管理机制,管理者再也无法对其用户进行必要的管理,不像在C/S模式中只需在中心点进行管理,所以P2P模型的网络资源往往并不可靠6。其次P2P网络中数据的安全性难以保证,P2P模型如图2.1所示。图2.1 P2P模型图 2.1.2 C/S模型C/S(Client/Server,客户/服务器)模型,简称C/S架构。该模型可以合理利用两端硬件环境优势,将任务合理分配到客户端和服务器上,降低
21、系统通信开销。在这种结构中,服务器处于一个中心地位。服务器是一个拥有强大处理能力和很大带宽的高性能计算机,数据和信息都保存在服务器上。服务器始终处于工作状态,一般同时为多个客户提供服务,它被动地接受客户连接,根据客户的请求提供相应的服务。这就造成了服务器设计的复杂性。特别是像即时通信服务器这类具有社区性的服务器,它只有为群体提供服务才有意义。即时通信服务器是数据中心,需要同时应对众多客户的请求7。C/S通信主要特点是客户端之间的通信都要通过服务器的转发,会造成服务太集中,在C/S模型中,当网络增大时,服务器的压力就越大。当增加一个客户,服务器的性能就会弱化,甚至会而使服务器失效而导致整个网络的
22、瘫痪等,其优点是便于集中管理,像这种结构一般用在用户数量少的局域网内。C/S模型图如图2.2所示。图2.2 C/S模型图 2.2 即时通信主流的通信协议传输控制协议TCP和用户数据报UDP是TCP/IP协议族的两个主要的传输协议,这两个协议都使用IP作为网络层协议8。在网络通信传输机制中,TCP是属于“面向连接,可靠传输”的类型,面向连接的传输意味着在进行通信以前,需要在两个系统之间建立逻辑连接,在每个数据传输的过程中都需要进行应答以保证数据包的完整。这种方法需要的网络开销较大,但却提供一种可靠的传输层服务。UDP是属于“面向无连接,不可靠传输”的类型,该协议只负责接收和传送上层协议传递的消息
23、,UDP本身不做任何检测、修改与应答,上层协议需要自己处理这些事务。TCP、UDP最大的区别在于为应用协议提供不同的服务。2.2.1 UDP协议用户数据报协议UDP是建立在网际协议之上的,提供面向无连接、不可靠的数据报传输服务的传输协议9。UDP传输不像TCP传输一样需要预先建立一条连接,UDP把数据发送出去但不进行差错控制和流量控制,报文可能丢失、重复或者失序,而发送方却得不到通知的,数据也不会被重传。因此,UDP提供的是一种不可靠的应用数据传输服务。它不需要通过一些握手协议确保连接的可靠性,发送方直接把数据广播到网络上,任何欲接收者都可接收到数据。其优点在于:1使用UDP时,每个数据中都给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SOCKET 即时 通信 系统 设计 实现 学士学位 论文
限制150内