毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。
在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:日期:指导教师签名:日期:毕业论文论文题目:即时通讯系统的设计与实现开题报告论文题目:姓名:_____________ 学号:________________ 学院:___________________ 开题报告正文应包含以下几方面的内容:1.1 论文选题的目的和意义近年来,随着Internet的飞速发展,计算机网络得到了越来越广泛的应用,并且已经逐步走进千家万户。
自迈入信息时代以来,距离已经不再是人们之间联络沟通的障碍,也正因为如此,人们对沟通交流的需求和依赖也越来越强烈,各行各业对信息交流的要求也越来越高。
如今,通过各种即时通信软件,人们已经可以在足不出户的情况下,与远距离甚至世界各地的人进行实时的聊天交流,这样的交流不仅满足了人们对交流沟通的需求,同时也给人与人之间的交流带来了极大的便捷和大量的经济节省。
因此,即时通信(Instant Messaging)在人们的生活工作和学习中得到了更广泛的应用。
目前,已经有不少即时通信软件在社会公众中流行,像MSN,腾讯QQ,新浪UC等,都是国内人们所熟知的知名流行即时通信软件,其技术方面也都处于国际领先水平。
同时,由于即时通信软件的便利,其应用已经由最初的简单的聊天交友得到了巨大的拓展。
适应各种场合的各式即时通信软件也开始出现在软件市场上,这就包括了一些与企业管理相关的即时通信软件,一个具有企业自己特色的集信息管理和即时通信为一体的内部应用软件,能够使一个企业或者团队更像一个整体,同时也能够给企业的管理和信息交流带来极大的便利,在一定程度上提高工作效率。
同样的,对于软件设计与开发的行业来说,过去的那种仅适用于PC机上的应用程序的开发已经远远不能满足市场的多样化的需求,网络程序的广泛应用和广大需求使学习与掌握与网络相关的编程技术显得尤为重要。
本论文将结合一个具体的局域网即时通信系统的开发编写,以现有的各种技术,介绍讲解网络IM软件开发中的重要知识,并讨论其中关键环节的技术问题和各种解决方案和设计策略1.2 相关技术知识简介1.2.1 基于SOCKET的网络编程SOCKET在英文中的意思是插座,在网络编程中,其实际意义可以理解为网络通信连接的插座,通常称之为套接字。
如果将网络连接的各终端类比为电话,则SOCKET即相当于电话线插座,为各终端提供或者创建与其他终端通信连接的桥梁或通道。
所有的终端都必须接通此“插座”来完成与其他终端的连接或通信,否则,它将独立于网络之外。
由此可以知道知道,SOCKET是终端间建立连接的核心对象。
那么,对于一个SOCKET对象,它到底具备什么样的功能呢?通常,用WINSOCK库来创建和使用SOCKET,运用WINSOCK库的基本API,就可以实现简单的数据输入和输出(即发送数据和接受数据)。
在创建一个SOCKET对象后,通过指定IP地址来确定该SOCKET与哪台机器发生交流,通过指定机器端口号(一般为1024以上)确定与该机器上哪个应用程序进行交流。
在确定了交流对象后,便可以使用SOCKET与对象机器上的应用程序进行数据的传输和信息的交流。
在面向连接的网络通信中,还必须使用SOCKET进行连接的监听和创建,只有创建了稳定的连接后,才开始进行数据的传输。
由于交互方式的不同,SOCKET也分为两种,一种是无连接的数据报形式的,一种则是面向连接的流式套接字,这也是接下来两小节要阐述的内容。
1.2.2 UDP协议与TCP协议的简单介绍UDP协议是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。
这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。
UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地,其过程可以比做投递信件,它只关心信件确实投放到信箱,至于对方是否正确、按时收到信件,UDP并不关心。
尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP 完全不同的服务。
TCP提供一种面向连接的、可靠的字节流服务。
面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。
这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁并与之开始对话。
1.2.3 WINSOCK 套接字API 调用的简单流程本论文所要讨论的即时通信系统则是通过WINSOCK 库的应用来设计和实现基于TCP 的C/S 结构的网络即时通信程序。
这里,用图的方式简单的表示出对WINSOCK 库提供的API 函数调用过程。
面向连接的流方式调用过程如图1-1所示。
图1-1 面向连接的流式通信过程面向无连接的数据报方式的调用过程如图1-2所示图1-2 面向无连接的数据报过程从图中可以看出,面向连接的流方式更能适应C/S 结构系统的非对称结构的实现。
SERVER 端1.3 论文的主要工作与章节安排本论文旨在设计一个面向企业内部的功能实用、性能良好的即时通信系统,并对其中关键模块做详细的分析和实现的说明。
在系统的设计和实现中,要突出系统的模块化,各模块间相对独立,通过模块间的接口交互工作,使整个系统层次、模块清晰。
在数据传输方面,要注意数据的封装,使数据尽可能结构化,保持良好的一致性。
根据上述要求,论文中详细阐述了系统的设计方案和关键模块的的实现方法,主要工作如下:(1)在确定系统结构后,根据系统相关需求妄称对系统功能的设计和分析,并对应系统功能做出用户信息数据的设计,详细说明数据库表项的设计。
(2)对CLIENT与SERVER端的通信协议做详细的设计,并对协议数据包的结构的定义做出详细的阐释。
(3)对系统中网络传输模块的设计做详细的说明,阐述网络传输模块在系统中的工作流程以及该模块的实现方案。
(4)结合系统整体结构,说明系统在功能实现上的逻辑处理过程(选择最主要的功能如登陆认证和聊天消息收发),并展示系统部分功能实现后的运行结果。
按照上述的工作内容叙述,本论文共分5章来分别阐述有关问题,各章节安排如下:第一章介绍论文背景、项目的意义、项目相关技术知识以及论文主要工作。
第二章对系统结构的分析做简单的介绍,针对系统的定性对其功能做详细的设计和分析,并设计出与系统功能相关的数据信息内容。
第三章详细介绍C/S系统中CLIENT与SERVER端之间的通信协议,并说明在系统实现过程中,该数据包结构以及部分协议内容定义。
第四章设计并分析系统中的核心模块——网络传输管理模块,对模块中重点对象的设计做详细的说明,并介绍该模块的实现策略,以及其在系统中的工作流程。
第五章介绍系统整体的结构模型,包含系统中各个模块中的对象,说明系统实现关键功能即登陆认证、聊天消息收发等的逻辑处理流程。
并展示系统运行过程中的部分截图。
2 系统的结构与功能设计2.1 系统结构的选择和设计2.1.1 系统通讯模式的选择在前面,已经分别介绍了基于UDP和TCP的两种即时通信系统的基本模式。
在两者相比之下,由于TCP协议能够很好的提供数据传输的可靠性,并在面向连接的环境下提供更丰富的网络通信服务。
而且,在面向连接的环境下,更有利于对网络应用终端的实时管理,为使用客户提供更加便捷可靠的网络服务。
所以,在网络通信模式上,倾向于基于TCP的面向连接的流式通讯模式。
2.1.2 集中式与分布式系统概述在目前的网络通信系统中,对于连接节点的管理有集中式和分布式两种管理模式。
对于集中式的管理模式,系统的数据存储和管理以及各功能在网络连接上的对应操作,都集中在网络管理节点上进行处理和实现,即由单一服务器来完成网络数据的集中管理。
集中式网络管理模式最大的优点就是便于集中管理各端连接,易于实现,维护工作较为简单。
但是,由于管理信息全部集中汇总到管理节点上,这就使得在通信高峰期会造成信息流拥挤,这对管理节点处的机器处理效率有很高的要求。
另外,由于所有的信息管理都依靠于一台服务器,当管理节点发生故障时,整个网络系统都将停止工作。
分布式管理模式,则是将网络管理客户机与一组服务器进行交互作用,由多个服务终端来共同协作完成对网络信息的管理。
由于有多个服务端协同工作,集中式容易造成信息流拥挤、服务器负荷太大的问题可以得到很好的解决。