ImageVerifierCode 换一换
格式:DOCX , 页数:93 ,大小:325.33KB ,
资源ID:9856064      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9856064.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机优秀毕业论文正稿.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机优秀毕业论文正稿.docx

1、计算机优秀毕业论文正稿本科毕业设计(论文)题目名称:基于VC+的企业部通信软件的设计与实现 学 院: 计算机科学与技术 专业年级: 计算机科学与技术 学生:班级学号:指导教师:二一四 年 六 月 六 日摘 要八十年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大学Berkeley分校提供了资金,让他们在UNIX操作系统下实现TCP/IP协议。在这个项目中,研究人员为TCP/IP网络通信开发了一个API(应用程序接口)。这个API称为Socket接口(套接字)。今天,SOCKET接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。随着网络技术的

2、发展与人们生活的需求,网络通信已越来越受到人们的亲睐。本课题是开发一个基于UDP的企业部通信系统,既可以应用于封闭的局域网环境下,也可以在互联网的环境下使用。本软件是基于VC+6.0开发的,采用软件工程的方法,应用了程序设计技术、网络技术,运用了WINSOCK相关API接口。WINSOCK 是在Windows进行网络通信编程的API接口,也是Windows网络编程的标准。研究的主要容是如何利用套接字编写网络通信程序,主要完成了客户端的发送信息,发送图片与显示在线用户与多人聊天,文件传输等工作。文件传输功能是本软件系统的一个亮点,它可以让两个用户之间实现文件的传递。通过聊天工具的使用,让分布在不

3、同地点、使用不同机器的一组用户能够与时进行信息交流,以达到信息共享的目的,从而提高工作或者生活效率。通过测试,本软件操作简单,灵活性好,运行也比较稳定,可以广泛使用。关键字 : UDP;VC+6.0;WINSOCK;网络通信 AbstractThe early 80s, the U.S. governments Advanced Research Project agency (ARPA) to the University of California, Berkeley provided funding to enable them to achieve in the UNIX operat

4、ing system, TCP / IP protocol. In this project, researchers for the TCP / IP Network Communication Development an API (application program interface). This API is called Socket Interface (socket). Today, SOCKET interface is a TCP / IP network of the most common API, is the INTERNET application devel

5、opment on the most common API.With the development of network technology and the demand of peoples life, network communication has been more and more get the favor of people. This topic is to develop an internal communication system based on UDP, local area network (LAN) can be used in a closed envi

6、ronment, also can be used under the environment of Internet. This software is based on vc + + 6.0 development, adopt the method of software engineering, application programming technology, network technology, using the WINSOCK API interface.WINSOCK is in Windows network communication programming API

7、 interface, also is the standard of Windows network programming.The main content of the research is how to use the socket network communication program, mainly completed the client sends a message, send pictures to show online users and many people chat, file transfer, etc.File transfer function is

8、one of the highlights of this software system, it can realize the file transfer between two users.Through the use of chat, let distribution in different locations, a group of users will be able to use different machine exchange of information in a timely manner, in order to achieve the purpose of in

9、formation sharing, so as to improve the efficiency of work or life.Through test, the software operation is simple, flexibility is good, operation is stable, can be widely used.Key words:UDP;VC+6.0;WINSOCK;Network communication第1章 绪 论1.1 课题选题背景近年来,随着全球信息化的不断发展,网络也在飞速发展。我们都知道局域网的存在,特别是在大型企业,比如银行、公安机关等

10、等对网络安全要求特别严格的企业单位都会有自己的局域网,因为局域网的安全可靠,使其不容易受到网络病毒的攻击,所以局域网得以在企业之中广泛应用。然而,任何企业的部都是离不开通讯的,所以企业部通信软件就应运而生了。这种通信软件是专为局域网通信而开发的,它适用于局域网,同时也促进了局域网的发展,局域网发展又给通信软件带来了更多应用的机会,可以说,局域网通信工具和局域网二者之间相辅相成,相互促进。发展到今天,大多数企业都应用了局域网,可见其在当今社会的重要地位。应用局域网办公的企业,必须要有自己企业部的通讯软件,然而,现在,在广域网上,可盈利的通讯软件到处都是,而局域网的通讯软件却很少,在功能上,也是参

11、差不齐。因此,为了企业更好、更安全的通讯,我想到开发一款适用于企业的局域网通信软件,恰好通过我的大学所学,我有信心在老师的讲解和指导下,很好的完成这任务。最后,老师为我选定了基于VC+企业部通信软件的设计与实现这一题目。1.2 国外现状分析和研究成果即时通讯工具是目前使用最为普遍的网络应用软件之一,继 出现在我们的计算机上之后,网易、新浪、搜狐等知名公司也迫不与待地加入了这一领域的竞争,而微软、雅虎、AOL的国际巨头公司也一刻没有停止自己扩的脚步。国在使用的最普与的就是腾讯 ,微软的MSN也受到商务人士的青睐;国外主要使用的是由美国在线出的ICQ、AMI以与微软的MSN等。目前,windows

12、平台方面的即时通讯软件已经很多,但是其他系统的比较少,例如Linux平台,虽然有类似 方面的一些产品,比如Linux 、Luna ,但是数量毕竟不多且功能界面等都还不太理想;面向企业的即时通讯软件虽然比较多,但是除了 、微软等公司的产品,其他的产品都还比较年轻,推出时间较短,且用户较少。鉴于此种情况,很多公司都在开发新的即时通讯工具软件,利用新的技术开发,使客户端和服务器端的性能和功能都得到一定的提升,适合在企业部网络和互联网上运行,同时使其具备跨平台的特性,方便在各个系统上运行。另外,许多企业已经应用了即时通讯类产品作为部交流的平台。但绝大多数企事业单位只把即时通讯类产品作为边缘产品,没有充

13、分的认识到即时通讯类产品在工作中的重要作用,没有想过去如何正确的应用。还有许多企事业单位使用网络个人交流工具(如 ,MSN),但存在许多安全隐患。许多开发商并没有将此产品作为公司的重点,也并没有从客户的角度出发,只是在产品线上附加即时通讯产品,做的不够完善,使此产品沦为边缘产品,从而导致即时通讯产品市场萎缩。随着我们国家的信息化飞速发展,许多企事业单位信息化程度大幅度提高。企事业单位非常需要使用部即时通讯产品来提高工作效率。1.3 课题研究容与意义为了保障通信安全,建设网、专网是一个解决这一问题的方法,随着企业业务围的不断扩大,网络规模也在扩大,采用该方案的话,成本必然非常高。由于公众信息网是

14、对整个社会开放的公众基础网络,具有覆盖性围广、速度快、费用低、使用方便等特点,但同时却存在着安全性差的问题。用户通过公众信息网来传输的信息,在传输的过程中可能被窃取、篡改和伪造,信息的安全性和可靠性因此会大大的降低,所以网、专网还是不可缺少的。在通信工具上,我们习惯了通过类似于 ,MSN之类的程序软件和天南地北的朋友聊天、发信息,不过所有聊天程序都需要Internet的支持,因此它们无法在局域网部大显身手,那么是否想到过要让单位部的员工,寝室周围的同学,不用上Internet就可以轻松体验到网通讯的乐趣呢?有了这种想法,本课题的研究容开发局域网通信软件就有了必要性,让单位员工或者寝室同学不出网

15、就能自由通信。企业部通信软件是一个即时通信工具。因此,通过该软件的设计和开发,可以对自己所学习的知识进行了一次综合提高,并且会有更深层次的理解和掌握,在这个过程中,还能激发自己的学习潜力,提高软件开发的能力,加深对网络协议和Windows环境下网络编程的理解和掌握,所以,开发企业部通信软件在理论和实践上都有非常重要的意义。第2章相关技术概述2.1 开发环境本节主要介绍本软件系统的开发环境,以与运用的编程工具等。2.1.1 开发工具简介本系统采用Windows 7中文操作系统,包含Windows API的支持,使用面向对象的编程工具Visual C+ 6.0进行项目开发。他是一款面向对象的功能强

16、大的可视化编程开发工具。使用Vissual C+可以完成任何C语言和C+语言的程序。其中的MFC库集成了Windows Sockets API应用程序接口,使得用户可以用面向对象的方法直接调用。AppWizard可以用来生成初步的框架文件,资源编辑器用于帮助直观地设计用户接口,CLassWizard用来协助添加代码到框架文件,并且提供文档/视图结构支持,从而使用应用程序开发变得轻松。2.1.2 Visual C+ MFC概述MFC(Microsoft Foundation Class Library)库是Microsoft公司基于Windows的C+应用程序编程接口,是Visual C+中编写

17、Windows应用程序的首选方法。MFC是一组C+类,这些是由常用的Windows应用程序定制的。使用MFC,可以在任何时候调用Win32函数、最大程度地利用Windows。而且,基于MFC的程序不仅小巧而且运行速度快,这是因为Visual C+非常接近Windows的底层,所以编译器所编译出来的程序质量相当的高,从而保证了Visual C+编写出来的软件产品拥有高效率的运行速度。MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来事更为简单的方法。因为在总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标

18、准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。 2.2 WinSock网络编程Windows Sockets是从Berkeley Sockets扩展而来的,其在继承Berkeley Sockets的基础上,又进行了新的扩充。这些扩充主要是提供了一些异步函数,并增加了符合WINDOWS消息驱动特性的网络事件异步选择机制。Windows Sockets由两部分组成:开发组件和运行组件。开发组件:Windows Sockets 实现文档、应用程序接口(API)引入库和一些头文件。运行组件:Windows Sockets 应用程序接口的动态库(WINSOCK.DL

19、L)。2.2.1Socket简介套接字(Socket)最初是由加利福尼亚大学Berkeley分校为UNIX操作系统开发的网络通信接口,随着UNIX操作系统的广泛使用,套接字成为当前最流行的网络通信应用程序接口之一。90年代初,由Sun Microsystems,JSB Corporation,FTP software,Microdyne和Microsoft等几家公司共同制定了一套标准,即Windows Sockets规。Windows Sockets API是Microsoft Windows的网络程序设计接口,它在继承了Berkeley Sockets主要特征的基础上,又对它进行了重要扩充。

20、这些扩充主要是提供了一些异步函数,并增加了符合Windows消息驱动特性的网络事件异步选择机制。这些扩充有利于应用程序开发者编制符合Windows编程模式的软件,它使在Windows下开发高性能的网络通信程序成为可能。Socket实际上是指一个通信端点,借助于它,用户所开发的Socket应用程序,可以通过网络与其它Socket应用程序进行通信。近年来,随着计算机网络与Windows 95的流行,许多用户所开发的应用程序需要实现网络间的数据通信。2.2.2开发Windows Sockets网络通信程序的软、硬件环境所采用的操作系统软件可以是Windows XP,Windows 7,因为它们都支持

21、Windows Sockets API,在以下的介绍中,我们将以在Windows XP环境下的开发为例。 所采用的编程语言一般可选目前较流行使用的可视化和采用面向对象技术的Microsoft Visual C+ 6.0。Visual C+ 6.0可在Windows XP或Windows 7环境下运行,其开发系统增加了全面集成的基于Windows 的开发工具以与一个基于传统C/C+开发过程的“可视化”用户界面驱动模型。Visual C+ 6.0中的Microsoft基类(MFC,即Microsoft Foundation Class)库是一系列C+类,其中封装着为Microsoft Window

22、s操作系统系列编写应用程序的各种功能 。在有关套接字方面,Visual C+ 6.0对原来的Windows Sockets库函数进行了一系列封装,继而产生了CSocket 、CSocketFile等类,它们封装着有关Socket的各种功能。 所采用的网络通信协议一般是TCP / IP。Windows XP和Windows 7都带有该协议。但是,所开发的网络通信应用程序并不能直接与TCP / IP核心打交道,而是与网络应用编程界面Windows Sockets API打交道。Windows Sockets API则可直接与TCP/IP核心进行沟通。TCP / IP核心协议连同网络物理介质(如网卡

23、)一起,都是提供网络应用程序间相互通信的设施。2.2.3CSocket类编程模型使用CSocket对象涉与CArchive和CSocketFile 类对象。以下介绍的针对字节流型套接字的操作步骤中,只有第三步对于客户方和服务方操作是不同的,其他步骤都一样。 (1)构造一个CSocket对象。 (2)使用这个对象的Create()成员函数产生一个socket对象。在客户方程序中,除非需要数据报套接字,Create()函数一般情况下应该使用默认参数。而对于服务方程序,必须在调用Create时指定一个端口。需要注意的是,Carchive类对象不能与数据报(UDP)套接字一起工作,因此对于数据报套接字

24、,CAsyncSocket和CSocket 的使用方法是一样的。 (3)如果是客户方套接字,则调用CAsyncSocket Connect()函数与服务方套接字连接;如果是服务方套接字,则调用CAsyncSocketListen()开始监听来自客户方的连接请求,收到连接请求后,调用CAsyncSocketAccept()函数接受请求,建立连接。请注意Accept()成员函数需要一个新的并且为空的CSocket对象作为它的参数,解释同上。 (4)产生一个CSocketFile对象,并把它与CSocket 对象关联起来。(5)为接收和发送数据各产生一个CArchive 对象,把它们与CSocket

25、File对象关联起来。切记CArchive是不能和数据报套接字一起工作的。 (6)使用CArchive对象的Read()、Write()等函数在客户与服务方传送数据。(7)通讯完毕后,销毁CArchive、CSocketFile和CSocket对象。2.2.4用VC6.0进行Windows Sockets程序开发的技术要点(1)同常规编程一样,无论服务器方还是客户方应用程序都要进行所谓的初始化处理,这部分工作仍可采用消息驱动机制来先期完成。 (2)一般情况下,网络通信程序是某应用程序中的一模块。在单独调试网络通信程序时,要尽量与采用该通信模块的其它应用程序开发者约定好,统一采用一种界面形式,即

26、单文档界面SDI、多文档界面MDI和基于对话框界面中的一种(这在使用AppWizard形成项目Project文件时有提示),尽管这并非必须,但可使通信模块在移植到所需的应用程序时省时省力,因为Visual C+ 6.0这种可视化语言在给我们提供方便的同时,也给我们带来某些不便,譬如所形成的项目文件中的许多相关文件与所采用的界面形式密切联系,许多消息驱动功能,随所采用的界面形式不同而各异。 当然,也可将通信模块函数化,并形成一个动态连接库文件(DLL文件),供主程序调用。 (3)以通信程序作为其中一个模块的应用程序往往不是在等待数据发送或接收完之后再做其它工作,因而在主程序中要采用多线程(Mul

27、tithreaded)技术。即将数据的发或收,放在一个具有一定优先级(一般宜取较高优先级)的辅助线程中,在数据发或收期间,主程序仍可进行其它工作,譬如利用上一个周期收到的数据绘制曲线 。Visual C+ 6.0中的MFC提供了许多有关启动线程、管理线程、同步化线程、终止线程等功能函数。(4)在许多情况下,要求通信模块应实时地收、发数据。譬如调用之的主程序以0.5秒为一周期,在这段时间 ,要进行如下工作:接收数据,利用收到的数据进行运算,将运算结果发送到其它计算机节点,周而复始。我们在充分利用Windows Sockets的基于消息的网络事件异步选择机制,用消息来驱动数据的发送和接收的基础上,

28、结合使用其他措施,如将数据的收和发放在高优先级线程,在软件设计上,安排好时序,尽量避免在同一时间,双方都在向对方发送大量数据的情况发生,保证网络要有足够的带宽等,成功地实现了数据传输的实时性。2.3 TCP/IP协议概述TCP/IP协议(Transfer Control Protocol/Internet Protocol)指传输控制/网络协议,又叫网络通讯协议。这个协议作为网络中使用的基本协议,是Internet国际互联网络的基础。TCP/IP协议是包括上百个协议,其中包括很多功能:TCP(Transfer Control Protocol)传输控制协议,IP(Internet Protoc

29、ol)互联网协议,UDP(User Datagram Protocol)用户数据报协议,ICMP(Internet Control Message Protocol)互联网控制信息协议,FTP(File Transfer Protocol)文件传输协议,SMTP(Simle Mail Transfer Protocol)简单传输协议,SNMP(simle Network Manage Protocol)简单网络管理协议,ARP(Address Resolution Protocol)地址解析协议等。从分层模型方面来讲,TCP/IP由四个层次组成:链路层、网络层、传输层、应用层。每一层负责不同的

30、功能:(1)链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口。用于处理与电缆等其他任何传输媒介的物理接口细节。(2)网络层,即互联网层,通常处理分组网络中的活动,例如分组的路由选择。网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以与IGMP协议(Internet组管理协议)。(3)运输层,为两台主机上的应用程序提供点对点活端到端的通信。在TCP/IP协议组件中,有两个互不一样的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有

31、这些细节。而UDP则为应用层来提供。(4)应用层,负责处理特定的程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序。Telnet远程登录FTP文件传输协议SMTP简单传输协议SNMP简单网络管理协议第3章 软件需求分析3.1需求分析3.1.1功能需求分析(1)用户端的基本聊天信息发送,这些基本聊天信息包括文本和图片。文本和图片聊天是聊天软件最基础的功能。用户通过输入IP来查找用户,并申请加为好友,在对方同意加为好友后,在线用户列表就会更新用户,把加入的用户添加到用户列表中。这样,两个用户之前就可以实现通信了。在信息传输中,预计利用TCP/IP协议中的UDP协议,这是面向无连

32、接的协议,但发送速度快,用于聊天信息传输用适合。(2)用户端文件传输的功能,用户之间可以断点续传文件。在传文件之前,首先创建一信息文件,记录文件传送的一些信息,并根据传输的数据量实时修改。如果没有传完,下次就可以继续打开这个信息文件,接着上次的进度传输。因为文件传输入要求数据不能出错,因此此模块采用TCP协议。(3)用户端之间白板和聊天室的功能,这个功能有些类似远程会议容的传输,研究目的是为了满足企业部随时性小会议室的要求。通过聊天室满足交流讨论,通过白板让发起者将想要表达的容,清楚的给目标对象呈现出来。(4)用户之间后台的连接,每个用户隔指定一段时间会向用户列表中的每一用户发送消息,查看用户是否在线,如果不在线,就更新用户列表,删除用户。3.1.2数据需求分析(1)客户端之间聊天信息。在控件上显示时格式化,更易于用户的查看自己发送或接收到的信息。(2)在线用户列表信息。服务器端存放在适当的空间中,在发送给客户端时,对信息列表进行格式化,便于客户端提取信息。(3)客户端向服务器端发送的确认在线信息。包括客户端刚刚启动时的初始化

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1