基于VC聊天工具的设计与实现(设计)X.doc
《基于VC聊天工具的设计与实现(设计)X.doc》由会员分享,可在线阅读,更多相关《基于VC聊天工具的设计与实现(设计)X.doc(22页珍藏版)》请在沃文网上搜索。
1、 目录摘要3一、概述11.1 本课题的研究背景11.2 国内外研究现状11.3 开发工具的简介11.3.1 Visual C+11.3.2 Access 2000数据库简介2二、网络通讯程序的设计原理和过程22.1 MFC框架22.2 TCP/IP协议32.3 客户机/服务器模型42.4 Windows Sockets网络编程接口52.5 系统功能描述5三、需求分析53.1可行性研究53.2 系统需求分析63.3 系统目标63.4 系统开发环境6四、总体设计74.1系统流程设计74.2 服务器端的设计74.2.1 服务器端工作流程图74.2.2 服务器的界面设计84.3 客户端的设计84.3.
2、1 客户端工作流程图84.3.2 客户端的界面设计104.4 数据库设计10五、系统程序实现105.1 服务器端105.2 客户机端13六、软件测试156.1 软件测试的意义156.2 软件测试的重要性166.3 软件测试的范围166.4 软件测试的方法166.5 软件测试的目的和原则16七、总结18参考文献19致谢20摘要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们日常生活带来便利。它已在不知不觉中进入人类社会的各个领域并发挥着越来越重要的作用,人们的生活正在被它潜移默化的影响着。21世纪聊天已成为人们相互交流的一种方式,与E-mail、电话相比,聊天服务更具有时效性。本
3、聊天工具利用C+作为前端的应用开发工具,Access作为后台的数据库,采用客户端/服务器(C/S)的模型构建,结构健壮灵活,在数据处理、人机界面、数据通信、系统维护等方面具有功能全面、实用等特点。包括服务器端和客户端两个模块,客户端通过服务器端进行通信。该软件采用多线程技术支持多用户操作,并采用相关技术进行了优化,加快了文字传递速度。关键字:C+ ;Access;聊天工具AbstractAlong with increasing enhancement of science and technology, computer has been matured day after day, its
4、 formidable function makes our life convenient. It plays vital role in every field in Humans society, with civilizing influence on us. In the century of 21st, chatting on the Internet has been one important way to communicate for people, compared with E-mail and telephone, it is more time-sensitive.
5、This tool for chatting will be developed by MSVC, database will be set up by Access, construct with model C/S, it is comprehensive and practical from data preceding, User Interface, data channel and system maintenance because of the robust and flexible structure.This tool has two modules: Server and
6、 Client, Client transmit messages through Sever. It uses multi-thread technology to transmit faster and it can provide multi-user service.Key words: C+; Access;Tool of Chatting;分类号:TP311.1文献标识码:A一、 概述1.1 本课题的研究背景随着Internet的不断发展普及,网络通讯越来越被千家万户所接受,成为人们生活中的一部分。网络聊天已和手机等一样,成为人们运用最为广泛的通信工具之一。21世纪是网络的世界,现
7、在网络发展的不可估量了,它可以包括我们生活中的方方面面,小到上网购物、查找资料,大到网上理财、网上会议,可以说网络把我们的世界变小了,即使在天涯海角,有网络的地方我们就可以随时联系。最简单的形式就是进行网络聊天了,这个很简单的聊天工具,可以随时拉近你我的距离。现在我借助于简单的网路知识和编程技巧模拟MSN等聊天软件,通过VC和Winsock实现聊天程序的全过程。1.2 国内外研究现状随着网络宽带业务的推广与普及,加之视频产品设备(如摄像头、耳机、麦克风等)的成熟,普通用户可以轻松地借助网络视频通讯软件,实现“面对面”的网络交流。信息的无限量扩大,交通工具的便捷,视频技术的充分应用等导致了行业间
8、竞争的全球化,这就要求现代部门、企业要具备更加灵敏的神经,更扁平化的管理,更快速的反应和决策,更贴切的市场宣传和服务。所有这一切是由信息技术的发展所带来的,同样也要求有先进的信息技术来提高部门、企业的竞争力。现代通讯已经是越来越普及了,必须有效合理的运用视频产品类设备来提高信息的传递和交流。在同一个局域网中,充分、合理的运用摄像头、耳机、麦克风等设备来实现文字聊天和语音视频聊天更是我们生活、学习、工作的便利所在。1.3 开发工具的简介1.3.1 Visual C+Visual C+即VC,微软公司出品的高级可视化计算机程序开发工具。他提供了一套开发环境:Visual Studio,Visual
9、 Studio本身包括一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档,借助这套工具,用户可以随心所欲地开发出各种功能的应用软件以及借助OpenGL和DirectX技术开发游戏软件。Visual C+可以识别C/C+并编译,支持MFC类库,并提供了一系列模板,常用的有MFC AppWizard(EXE/DLL),MFC ActiveX Control Wizard,Win32 Application,Win32 Console Application,ATL COM AppWizard。这种可视化编程环境可以令程序员花更多精力在程序功能的实
10、现上,而不是底层的建设上,这就大大加快了程序开发速度和效率,这也是Visual C+一个显著的特点。利用Visual C+编译出的程序空间小,运行快,比其他的编译工具编译出的软件占据较多优势。现在常用的版本有Visual C+ 6.0/.Net/2005。 Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft 公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+ 7.0),但它的应用的很大的局限性,只适用于Windows 2000,W
11、indows XP和Windows NT 4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(Integrated Development Environment, IDE)。Visual C+ 6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C+它大概可以分成三个主要的部分:1Developer Studio,这是一个集
12、成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构
13、成Visual Studio的基石。71.3.2 Access 2000数据库简介过去的一些数据库软件是基于命令行上面的,在操作上、数据库建立、维护等等都需要敲入命令行,相当复杂且不易使用,但是在具备了窗口的GUI(Geographical User Interface,图形用户界面)特性的Access数据库推出之后,数据库的建立不再是困难的事情,我们可以在PC上简单而快速的建立出一套符合自己的数据库。不但如此,在Access 2000 推出以后,我们发现数据库的建立更加的快速,但是功能却更加强大,用户不用再去记忆那一大堆的文件名称,或是为数据库的文件管理大费周章,通过Access的人性化管理
14、接口把数据库的管理整理,便于维护;此外,在报表的制作上也是相当容易的,完全的视觉开发向导设计,让人使用起来很舒服。但是美中不足的是Access对于主从式结构的安全性管理不足,由于Access可以快速的通过ODBC连接到数据库服务器上(Database Server),并浏览所有表格或是相关对象转成HTML基本上,Access对建立一个数据库所具备的每一个对象,其中包括了表、查询、窗体、报表、宏、模块。其功能分别叙述如下:表对象打开已经存在的表格、对已存在的表格字段数据进行修改、新建表格。查询对象可以用直接拖放的方式,建立表格之间的关联与对应关系,自动产生SQL语法查询出我们想要的数据。窗体设计
15、对象可以设计用户接口,用来输入并处理数据。报表对象利用视图向导的开发方式,简单、快速的建立出需求报表或标签。宏对象提供许多的宏功能,您可以把这样的宏连接到窗体设计中的任意一个对象,以达成一些复杂的功能。模块对象撰写VB的程序模块,处理较复杂的问题与需求,该功能是采用事件驱动的模式,类似VB的处理方式。1二、 网络通讯程序的设计原理和过程 2.1 MFC框架微软用C+的类机制将绝大部分的API函数进行了封装,构成了类,并且将基本的流程也封装在类机制下面,大大简化了Win32开的复杂性,尤其是在开发比较大型程序的时候这个便宜性更会得以体现。它就是Microsoft Foundation Class
16、es,简称为MFC,可以说它是VC开发环境的一个核心构件。MFC构架了一个庞大的类体系结构,在4.0时代就多达189个类,程序代码达252个文件,58个头文件,共10MB之多,MFC4.2时又多加了29个类,但是最为主干的是下面类结构示图2.1所示的一些类: 图2.1 MFC类框架主体4构建一个基于MFC框架的程序,可以使用MFC的向导程序,一个基于MFC的程序可以有几种类型:基于单文档结构的程序,基于多文档结构的程序以及基于对话框的应用程序,不同类型的程序具有不同的程序属性。使用其向导以及控件编程,使得不论是界面编写,还是程序内核设计,都更加的简单。其中有合理的消息映射机制,有方便的运行时类
17、型识别功能,更有文档/视图结构设计,文档串行化功能等非常多的优秀功能。2.2 TCP/IP协议 TCP/IP是国际互联网所采用进行网际互连的通信协议。IP互连协议(Internet Protocol),负责主机之间的传输数据。TCP传输控制协议(Transmission Control Protocol),负责在应用程序之间传递数据。实际所称的TCP/IP协议包括了在国际互联网上应用的一组协议,互联网协议组是此协议组的另一个名字。这个协议组包括几种工作在不同层次上的网络协议,UDP用户数据报协议(User Datagram Protocol),提供给用户进程的无连接协议,也负责在应用程序之间无
18、连接传递数据,但不执行正确性检查。ICMP互连网控制报文协议(Internet Control Message Protocol),处理主机间的差错和传送控制。ARP地址解析协议(Address Resolution Protocol),负责将网络层地址转换成链路层地址。RARP反向地址解析协议(Reverse Address Resolution Protocol),负责将链路层地址转换成网络层地址。 TCP/IP协议的核心是传输层协议(TCP、UDP)、网络层协议(IP)和物理接口层,这三层通常在操作系统的内核中实现。TCP/IP网络环境下的应用程序设计是通过网络系统编程界面Socket实
19、现的,Socket提供应用程序与系统内核之间的网络编程接口。协议可以是可靠的可以是不可靠的。可靠的协议意味着当数据通过协议传递时,协议保证数据正确传输。可靠传输包括几个特征。首先,为了确保数据正确传送,协议在通信应用程序之间互相交换确认信息。也就是说,程序每次发送一个报文时,都期望对方发送一个相当于说:“我得到这个报文”的确认信息。如果发送程序没有收到这样一个确认信息,程序将自动重新发送此报文,直到得到应答信息为止。其次,为了确保传输的数据有效,可靠协议在每次传输时,都包含一个或更多的校验和(CRC)。接收计算机重新计算校验和,与收到的校验和进行比较。如果不匹配,就表明在传输过程中发生了错误。
20、 传输控制协议TCP是一个使用校验和、确认信息以及其它可靠数据传输技术的可靠协议。相比之下,不可靠协议不能确保数据正确传输。协议试图传输数据,但不保证成功。而且,不可靠协议在传输失败后,并不通知发送方应用程序。可将不可靠数据传输比作没有返回地址的信件。如果发送地址是锗误的,由于邮递系统不能将信退回给你,所以你就不知道信件有没有送到。即使发送地址是正确的,也不能保证邮递系统不丢失信件。 TCP/IP协议组中存在的两个基本数据服务是:字节流服务和数据报服务。使用字节流的协议将信息看作一串字节流进行传输。协议不管要求发送或接收数据的长度和传送数目,只是将数据看作一个简单的字节串流。使用数据报的协议将
21、信息视作一个独立单元进行传输。协议单独发送每个数据报数据报之间不相互依赖。例如,假设你使用字节流协议发送5个数据段(每个有10字节)和一个包含50字节的数据段(总共100字节)。连接的接收方可以按每次20字节读数据(要读5次)。传输控制协议是字节流协议。 字节流协议不关心每个数据段的长度。如果应用程序使用字节流协议发送数据,则协议能够保证连接的另一端按照发送的顺序接收数据。相比之下,传输到同一目的地的多个数据报可能不会按发送顺序到达。如果接收方应用程序要求数据顺序一致,应用程序必须在数据到达后,校对这些数据。用户数据报协议和互连网协议使用数据报传输数据。数据报类似于信件。如果你在同一天给同一个
22、人邮寄两封信,你无法知道那个人先收到那封信。同样,如果连续两天给两个人邮信,你也不能知道哪封信先收到。收到信的顺序和发送顺序可能相反。在TCP/IP术语中,端口(Port)类似于IP地址,IP地址与主机地址是相联系的,端口和协议相联系。IP数据报保存目的和源地址,同样传输协议也保存源和目的端口号。Internet包括像FTP、Telnet和Mail这样广泛使用的应用程序采用的应用协议,在Internet上,这些应用程序使用一种叫做“通用口分配”的端口。通用口分配是特定应用程序广泛使用的一个协议端口。像PC程序员使用打印端口LPT1用于打印,Internet程序员也对具体应用程序使用许多协议端口
23、。例如,文件传输协议(FTP)的通用口分配是端口号21的。Telnet的通用口分配是端口号23。92.3 客户机/服务器模型 客户机/服务器模型也是一种网络模型,但与前述的模型不同,它并不是定义了网络的层次结构,而是描述了一种网络程序运行的方式。 客户机/服务器模型将网络应用程序分为客户和服务器两部分。客户方对服务器方发送信息请求,服务器方对其做出相应回答,提供服务。在TCP/IP网络应用中,多数网络应用程序是使用客户机/服务器模型设计的。服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户程序提出了请求信息。此时,服务程序被唤醒并且为客户提供服务
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC 聊天工具 设计 实现
