您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 在线聊天系统毕业设计论文
1摘要随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。为此,越来越多的网站开始提供在线聊天的功能。与此同时,聊天室也以其方便、快捷、低成本等优势受到众多企业的青睐,很多企业的网站中也加入了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。本文是软件工程在线聊天室系统的开发说明,重点运用软件工程知识对系统进行分析、设计实现和测试的思想的具体描述,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过实际的运用软件工程知识处理问题,加强程序的规范性、清晰性、可靠性,并且使得程序易于维护。本软件使用JAVA进行编写,具有良好的兼容性且易于实现。聊天室操作简洁容易上手、结构简单、查找方便、实用性强。关键字:网络、通信、套接字、连接2目录序言....................................................3第一章VisualC++及Socket套接字介绍.....................5一VisualC++介绍...................................5二Socket套接字介绍.................................6第二章软件需求分析.....................................15一系统客户要求.....................................15二系统详细设计.....................................16三系统开发目标.....................................17四系统开发思路.....................................17五需求总结.........................................18第三章系统具体实现....................................21一概要设计..........................................21二定义服务器端和客户端的通信结构及含义..............22三服务器端的实现流图................................25四客户端的实现流图..................................28第四章系统测试.....................................30第五章系统运行和维护.................................32第六章结束语.........................................33参考文献...............................................343序言随着现代技术的不断输入和信息化的广泛普及,网络作为一种新兴事物,在近些年得到了前所未有的普及和深入,网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的服务。而现代中小型企业的领导认识到进一步提高企业信息化的必要性。为使企业能在瞬息万变的信息时代生存下去,适应激烈的市场竞争,现代企业要求正加员工之间的交流和通信能力,尤其是领导和员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。系统开发是一个十分复杂的系统工程。这里对系统开发的基本过程和方法进行介绍,列出相关文档的示例并加以说明。要提高市场竞争力,就要对市场作充分的调查和详细的研究,同时也要有好的客户服务。企业要在复杂的环境下作出对策。员工与员工员工与领导间的即时交流尤为重要,网络在线聊天系统对于企业来说就是一种交流和通信的平台,本系统能够成为中小型企业的交流通信的理想平台。如能做到信息的及时的反馈,即时的处理并作出相应的行动,将能进一步提高中小型企业在现代经济市场的竞争能力。网络通信是网络应用的重要体现方面。网上即时通信则是网络应用的重要体现方面。本聊天系统主要应用于小型企业,学校或小型局域网内部使用。本应用程序使短距离交流更加快捷和便利。更能高效率的体现现代即时通信的特点。本系统能够满足中小型企业,学校的内部网络即时通信的需要,在内部网络正常环境的运营下,提供即时通信的能力,本系统使用Visual4C++开发,本系统能够为中小型企业协同工作,相互间的交流提供了有力的工具,运用在局域网的本系统,能够为企业员工的交流提供帮助,有利于提高工作效率。5第一章VisualC++及Socket套接字介绍一VisualC++介绍和其他编程工具相比,VisualC++在提供可视化编程方法的同时,适应于编写直接对系统进行底层操作的程序.其生成代码的质量,也要优于许多其他开发工具.VisualC++所提供的MFC(Microsoft基本类库),对Window98/NT/2000所用的Win32API(应用程序接口)进行了彻底的封装,这使得可以使用完全的面向对象的编程方法来进行Windows程序的开发,并能够大大缩短程序的开发周期,降低开发成本,把Windows程序员从大量复杂的劳动中解放出来.VisualC++给应用程序的开发人员提供了丰富的功能,VisualC++通过MFC库提供了一个完整的应用程序的骨架,开发人员可以忽略应用程序的入口点和结束地点,并且可以忽略消息在应用程序的流动顺序,通过MFC的支持VisualC++也提供了Document-View(文档视图)的应用程序的结构,开发人员可以将数据保存在Document类的对象上,而在屏幕的显示的数据由View类的对象来负责。通过MFC的支持VisualC++也实现了面向对象领域的RTTI(RunTimeTypeInformation运行时类型识别)、DynamicCreation(动态创建)、(Persitence)永久保存机制,同时他也实现了Windows下的MessageMapping(消息映射)和CommandRouting(命令传递),通过MFC的Cdatabase和Crecordset类VisualC++可以实现数据库的应用,通过ChtmlStream、CHttpFilter、CHttpFilterContext、ChttpServer等ISAPI(InternetServerAPI)可6以很好的支持Internet上的http协议相关的操作。由于MFC涉及到应用程序开发的各个领域,其VisualC++成为倍受欢迎的开发工具。二Socket套接字介绍Winsock是一套开放的,支持多种协议的Windows下网络编程接口,是Windows网络编程实是上的标准.应用程序通过调用Winsock的API实现相互间的通信,而Winsock利用下层的网络通信协议功能和操作系统调用实现实际的通信工作.1套接字(Sockets)套接字是通信的基石,是支持TCP/IP协议的网络通信的操作单元.可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面.套接字存在于通信域中.通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念.套接字通过通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序).Winsock规范支持单一的通信域,即Internet域.各种进程使用这个域互相之间用Internet协议簇来进行通信(Winsock1.1以上的版本支持其他的域)。套接字可以根据通信性质分类,这种性质对于用户时可见的.应用程序一般仅在同一类的套接字间通信.不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信进入九十年代后,随着计算机和网络技术的发展,很多数据处理系统都采用开放系统结构的客户机/服务器网络模式,即客户机提出任务请求,通过网络发送给服务器,由服务器做相应处理,执行被请求的任务,7然后将结果返回给客户机。例如:银行ATM的前置机和数据处理的主机之间即构成客户机/服务器网络模式;电话银行的前置机和银行数据处理机之间也构成这种网络模式结构等。这样,如何在前置机和数据主机之间进行信息交换,即进程网络通信,就成为实现这种网络模式的基础。而TCP/IP的套接字技术是解这一问题的有力工具。它从提出时就一直发挥着愈来愈重要的作用,并已成为UNIX操作系统下TCP/IP网络编程标准;甚至WINDOW、JAVA都配有它的通用接口。有了这个强有力的工具,我们可以实现异种机、异种操作系统应用程序间的相互连接和通信。套接字(sockets)是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点。它构成了在单个主机内及整个网际间的编程界面。一般来说,跨机应用进程之间要在网络环境下进行通信,必须要在网络的每一端都要建立一个套接字,两个套接字之间是可以建立连接的,也是可以无连接的,并通过对套接字的“读”、“写”操作实现网络通信功能。类似于UNIX系统中的I/O概念,像文件那样有打开、读、写、关闭的方式。根据传输数据类型的不同,套按字可分为面向连接的数据套接字(streamsockets)和无连接的数据报套接字(datagramsockets)两种类型:(1)字节流套接字字节流不按记录定界,在TCP/IP协议簇中对应TCP协议,即传输控制协议(TransmitionControlProtocol)。它是一个提供给用户进程可靠的全双工的面向连接的协议,大多数INTERNET应用程序如ftp、telnet使用TCP协议。通信端点使用TCP对应的INTERNET地址互相连接,可保8证按正确的顺序以及单一和可靠的地址传输数据。由于它是字节流,所以包长包没有限制,信包传输也不重复,因而是一种常用的套接字类型。流套接字提供双向的,有序的,无重复并且无记录边界的数据流服务,它适应于处理大量数据.网络传输层可以将数据分散或集中到合适尺寸的数据包中。流套接字是面向连接的,通信双方进行数据交换之前,必须建立一条路径,这样即确定了它们之间存在的路径,又保证了双方都是活动的,可彼此相应的,但在通信双方之间建立一个通信信道需要很多开支.除此以外,大部分面向连接的协议为保证发送无误,可能会需要执行额外的计算机来验证正确性,为此会进一步增加开支。(2)数据报套接字数据报对应记录型数据流,在TCP/IP协议簇中对应UDP协议,即用户数据报协议(UserDatagramProtocol)。利用数据报服务可实现一些简单的网络服务,如网点检测程序PING。由于不建立连接,数据报协议比连接协议快。但不能保证所有数据都准确有序地到达目的地。不保证顺序性、可靠性和无重复性。它是无连接的服务,以独立的信包进行传输,通信端点使用UDP对应的INTERNET地址。双方不需互连,按固定的最大长度进行传输,因而适用于单个报文传输,或较小文件的传输。数据报套接字支持双向的数据流,但不保证数据传输的可靠性,有序性,和无重复性.也就是说,一个从数据报套接字接受信息的进程有可能发现信息重复,或者和发出时间顺序不同的情况.此外,数据报套接字的一个重要特点是它保留了记录边界。9数据报套接字是无连接的,它不保证接受端是否在监听,类似邮政服务:发信人把信装入邮箱即可,至于收信人是否收到这封信或邮局是否会因为暴风雨未能按时将信件投入收信人处等等,发信人都不得而知.因此,数据报并不十分可靠,需有程序员负责管理数据的排序和可靠性)。2套接字的编程要点及过程不论何种套接字编程,均采用客户机/服务器方式,其运作过程基本类似,限于篇幅,这里仅介绍字节流套接字。字节流套按字的服务进程和客户进程,在通信前必须创建各自的套接字以建立连接,然后对相应的套接字进行“读”、“写”操作,实现信息的交换。服务器进程创建套接字。
本文标题:在线聊天系统毕业设计论文
链接地址:https://www.777doc.com/doc-5130933 .html