聊天系统毕业论文.doc

上传人:公**** 文档编号:544207845 上传时间:2022-12-21 格式:DOC 页数:32 大小:143KB
返回 下载 相关 举报
聊天系统毕业论文.doc_第1页
第1页 / 共32页
聊天系统毕业论文.doc_第2页
第2页 / 共32页
聊天系统毕业论文.doc_第3页
第3页 / 共32页
聊天系统毕业论文.doc_第4页
第4页 / 共32页
聊天系统毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《聊天系统毕业论文.doc》由会员分享,可在线阅读,更多相关《聊天系统毕业论文.doc(32页珍藏版)》请在金锄头文库上搜索。

1、摘 要本文详细论述了在线聊天系统的开发和实现过程,从需求分析、系统功能分析、系统功能模块设计、系统功能的实现和运行调试等几大方面叙述了该管理系统的性能及功能的实现,其中也包括了在开发过程中出现的问题难点及解决方案等信息。本系统是在Windows2000下使用现在流行的编程工具Visual C+开发。以Visual C+的MFC(微软基本类库)作为基本的的开发基础。本系统使用Socket套接字作为开发的应用程序开发模型,使用Sockets原型开发,可以方便的建立连接,数据传输,和断开连接,从而实现网络在线聊天系统的在线好友查找,发送消息和接收消息.本文详细的介绍了网络在线聊天系统的开发背景、开发

2、工具、运行环境的选择,系统功能分析,客户端和服务器端的建立连接、消息的发送、消息的接收、消息的处理和断开连接、界面设计和功能实现方面的信息,并详细说明了在开发过程中的遇到的难点和问题,本系统实现了在用户需求分析阶段所提出的所有要求,用户可以随时和服务器建立和断开连接。方便的连接和断开连接的方法是Socket的优点所在。关键字:网络、通信、套接字、连接目录序言.1第一章 VisualC+及Socket套接字介绍.3 一 VisualC+ 介绍.3 二 Socket套接字介绍.4 第二章 软件需求分析.14 一 系统客户要求.14 二 系统详细设计.15三 系统开发目标.16四 系统开发思路.16

3、五 需求总结.17第三章 系统具体实现.20一 概要设计.20二 定义服务器端和客户端的通信结构及含义.21 三 服务器端的实现流图.24四 客户端的实现流图.28第四章 系统测试 .29第五章 系统运行和维护.31第六章 结束语.32参考文献.33序 言随着现代技术的不断输入和信息化的广泛普及,网络作为一种新兴事物,在近些年得到了前所未有的普及和深入,网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的服务。而现代中小型企业的领导认识到进一步提高企业信息化的必要性。为使企业能在瞬息万变的信息时代生存下去,适应激烈的市场竞争,现代企业要求正加员工之间的交流和通信能力,尤其

4、是领导和员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。系统开发是一个十分复杂的系统工程。这里对系统开发的基本过程和方法进行介绍,列出相关文档的示例并加以说明。网络通信是网络应用的重要体现方面。网上即时通信则是网络应用的重要体现方面。本聊天系统主要应用于小型企业,学校或小型局域网内部使用。本应用程序使短距离交流更加快捷和便利。更能高效率的体现现代即时通信的特点。本系统能够满足中小型企业,学校的内部网络即时通信的需要,在内部网络正常环境的运营下,提供即时通信的能力,本系统使用Visual C+开发,本系统能够为中小型企业协同工作,相互间的交流提供了有力的工具,运用在局域网的本系统,能够

5、为企业员工的交流提供帮助,有利于提高工作效率,第一章 VisualC+及Socket套接字介绍一 Visual C 介绍和其他编程工具相比,Visual C+在提供可视化编程方法的同时,适应于编写直接对系统进行底层操作的程序.其生成代码的质量,也要优于许多其他开发工具.Visual C+所提供的MFC(Microsoft基本类库),对Window98/NT/2000所用的Win32 API(应用程序接口)进行了彻底的封装,这使得可以使用完全的面向对象的编程方法来进行Windows程序的开发,并能够大大缩短程序的开发周期,降低开发成本,把Windows程序员从大量复杂的劳动中解放出来.Visua

6、l C+给应用程序的开发人员提供了丰富的功能,Visual C+通过MFC库提供了一个完整的应用程序的骨架,开发人员可以忽略应用程序的入口点和结束地点,并且可以忽略消息在应用程序的流动顺序,通过MFC的支持Visual C+也提供了Document-View(文档视图)的应用程序的结构,开发人员可以将数据保存在Document类的对象上,而在屏幕的显示的数据由View类的对象来负责。通过MFC的支持Visual C+也实现了面向对象领域的RTTI(RunTime Type Information 运行时类型识别)、Dynamic Creation(动态创建)、(Persitence)永久保存机

7、制,同时他也实现了Windows下的Message Mapping(消息映射)和Command Routing(命令传递),通过MFC的Cdatabase和Crecordset类Visual C+可以实现数据库的应用,通过ChtmlStream、CHttpFilter、CHttpFilterContext、ChttpServer等ISAPI(Internet Server API)可以很好的支持Internet上的http协议相关的操作。由于MFC涉及到应用程序开发的各个领域,其Visual C+成为倍受欢迎的开发工具。二 Socket套接字介绍Winsock是一套开放的,支持多种协议的Win

8、dows下网络编程接口,是Windows网络编程实是上的标准.应用程序通过调用Winsock的API实现相互间的通信,而Winsock利用下层的网络通信协议功能和操作系统调用实现实际的通信工作.1 套接字(Sockets)套接字是通信的基石,是支持TCP/IP协议的网络通信的操作单元.可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面.套接字存在于通信域中.通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念.套接字通过通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序).Winsock规范支持单一的通信

9、域,即Internet域.各种进程使用这个域互相之间用Internet协议簇来进行通信(Winsock 1.1以上的版本支持其他的域)。套接字可以根据通信性质分类,这种性质对于用户时可见的.应用程序一般仅在同一类的套接字间通信.不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信进入九十年代后,随着计算机和网络技术的发展,很多数据处理系统都采用开放系统结构的客户机/服务器网络模式,即客户机提出任务请求,通过网络发送给服务器,由服务器做相应处理,执行被请求的任务,然后将结果返回给客户机。例如:银行ATM的前置机和数据处理的主机之间即构成客户机/服务器网络模式;电话银行的前置机和银行数据处

10、理机之间也构成这种网络模式结构等。这样,如何在前置机和数据主机之间进行信息交换,即进程网络通信,就成为实现这种网络模式的基础。而TCP/IP的套接字技术是解这一问题的有力工具。它从提出时就一直发挥着愈来愈重要的作用,并已成为UNIX操作系统下TCP/IP网络编程标准;甚至WINDOW、JAVA都配有它的通用接口。有了这个强有力的工具,我们可以实现异种机、异种操作系统应用程序间的相互连接和通信。套接字(sockets)是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点。它构成了在单个主机内及整个网际间的编程界面。一般来说,跨机应用进程之间要在网络环

11、境下进行通信,必须要在网络的每一端都要建立一个套接字,两个套接字之间是可以建立连接的,也是可以无连接的,并通过对套接字的“读”、“写”操作实现网络通信功能。类似于UNIX系统中的I/O概念,像文件那样有打开、读、写、关闭的方式。根据传输数据类型的不同,套按字可分为面向连接的数据套接字(streamsockets)和无连接的数据报套接字(datagramsockets)两种类型:(1)字节流套接字字节流不按记录定界,在TCP/IP协议簇中对应TCP协议,即传输控制协议(TransmitionControlProtocol)。它是一个提供给用户进程可靠的全双工的面向连接的协议,大多数INTERNE

12、T应用程序如ftp、telnet使用TCP协议。通信端点使用TCP对应的INTERNET地址互相连接,可保证按正确的顺序以及单一和可靠的地址传输数据。由于它是字节流,所以包长包没有限制,信包传输也不重复,因而是一种常用的套接字类型。流套接字提供双向的,有序的,无重复并且无记录边界的数据流服务,它适应于处理大量数据.网络传输层可以将数据分散或集中到合适尺寸的数据包中。 (2)数据报套接字数据报对应记录型数据流,在TCP/IP协议簇中对应UDP协议,即用户数据报协议(UserDatagramProtocol)。利用数据报服务可实现一些简单的网络服务,如网点检测程序PING。由于不建立连接,数据报协

13、议比连接协议快。但不能保证所有数据都准确有序地到达目的地。不保证顺序性、可靠性和无重复性。它是无连接的服务,以独立的信包进行传输,通信端点使用UDP对应的INTERNET地址。双方不需互连,按固定的最大长度进行传输,因而适用于单个报文传输,或较小文件的传输。数据报套接字支持双向的数据流,但不保证数据传输的可靠性,有序性,和无重复性.也就是说,一个从数据报套接字接受信息的进程有可能发现信息重复,或者和发出时间顺序不同的情况.此外,数据报套接字的一个重要特点是它保留了记录边界。2套接字的编程要点及过程不论何种套接字编程,均采用客户机/服务器方式,其运作过程基本类似,限于篇幅,这里仅介绍字节流套接字。字节流套按字的服务进程和客户进程,在通信前必须创建各自的套接字以建立连接,然后对相应的套接字进行“读”、“写”操作,实现信息的交换。服务器进程创建套接字。服务进程总是先于客户进程启动,服务进程首先调用socket()函数创建自已端的一个字节流套接字,并提供三个参数:网络地址类型,一般取AF_INEF(AdressfamilyInterNET);套接字类型,这里取SOCK_STREAM;网络协议,缺省为TCP/IP协议,对应参数为0。给套接字地址变量赋初值。在生成套接字后,要用服务器的地址先对sockaddr_in结构变量赋初值。sockaddr_in它只适用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号