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

上传人:b****1 文档编号:2927343 上传时间:2023-05-05 格式:DOCX 页数:93 大小:325.33KB
下载 相关 举报
计算机优秀毕业论文正稿.docx_第1页
第1页 / 共93页
计算机优秀毕业论文正稿.docx_第2页
第2页 / 共93页
计算机优秀毕业论文正稿.docx_第3页
第3页 / 共93页
计算机优秀毕业论文正稿.docx_第4页
第4页 / 共93页
计算机优秀毕业论文正稿.docx_第5页
第5页 / 共93页
计算机优秀毕业论文正稿.docx_第6页
第6页 / 共93页
计算机优秀毕业论文正稿.docx_第7页
第7页 / 共93页
计算机优秀毕业论文正稿.docx_第8页
第8页 / 共93页
计算机优秀毕业论文正稿.docx_第9页
第9页 / 共93页
计算机优秀毕业论文正稿.docx_第10页
第10页 / 共93页
计算机优秀毕业论文正稿.docx_第11页
第11页 / 共93页
计算机优秀毕业论文正稿.docx_第12页
第12页 / 共93页
计算机优秀毕业论文正稿.docx_第13页
第13页 / 共93页
计算机优秀毕业论文正稿.docx_第14页
第14页 / 共93页
计算机优秀毕业论文正稿.docx_第15页
第15页 / 共93页
计算机优秀毕业论文正稿.docx_第16页
第16页 / 共93页
计算机优秀毕业论文正稿.docx_第17页
第17页 / 共93页
计算机优秀毕业论文正稿.docx_第18页
第18页 / 共93页
计算机优秀毕业论文正稿.docx_第19页
第19页 / 共93页
计算机优秀毕业论文正稿.docx_第20页
第20页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《计算机优秀毕业论文正稿.docx》由会员分享,可在线阅读,更多相关《计算机优秀毕业论文正稿.docx(93页珍藏版)》请在冰点文库上搜索。

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

计算机优秀毕业论文正稿

 

 

本科毕业设计(论文)

 

题目名称:

基于VC++的企业部通信软件的设计与实现

学院:

计算机科学与技术

专业年级:

计算机科学与技术

学生:

班级学号:

指导教师:

二○一四年六月六日

摘要

八十年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大学Berkeley分校提供了资金,让他们在UNIX操作系统下实现TCP/IP协议。

在这个项目中,研究人员为TCP/IP网络通信开发了一个API(应用程序接口)。

这个API称为Socket接口(套接字)。

今天,SOCKET接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。

随着网络技术的发展与人们生活的需求,网络通信已越来越受到人们的亲睐。

本课题是开发一个基于UDP的企业部通信系统,既可以应用于封闭的局域网环境下,也可以在互联网的环境下使用。

本软件是基于VC++6.0开发的,采用软件工程的方法,应用了程序设计技术、网络技术,运用了WINSOCK相关API接口。

WINSOCK是在Windows进行网络通信编程的API接口,也是Windows网络编程的标准。

研究的主要容是如何利用套接字编写网络通信程序,主要完成了客户端的发送信息,发送图片与显示在线用户与多人聊天,文件传输等工作。

文件传输功能是本软件系统的一个亮点,它可以让两个用户之间实现文件的传递。

通过聊天工具的使用,让分布在不同地点、使用不同机器的一组用户能够与时进行信息交流,以达到信息共享的目的,从而提高工作或者生活效率。

通过测试,本软件操作简单,灵活性好,运行也比较稳定,可以广泛使用。

关键字:

UDP;VC++6.0;WINSOCK;网络通信

Abstract

Theearly80s,theU.S.government'sAdvancedResearchProjectagency(ARPA)totheUniversityofCalifornia,BerkeleyprovidedfundingtoenablethemtoachieveintheUNIXoperatingsystem,TCP/IPprotocol.Inthisproject,researchersfortheTCP/IPNetworkCommunicationDevelopmentanAPI(applicationprograminterface).ThisAPIiscalledSocketInterface(socket).Today,SOCKETinterfaceisaTCP/IPnetworkofthemostcommonAPI,istheINTERNETapplicationdevelopmentonthemostcommonAPI.

Withthedevelopmentofnetworktechnologyandthedemandofpeople'slife,networkcommunicationhasbeenmoreandmoregetthefavorofpeople.ThistopicistodevelopaninternalcommunicationsystembasedonUDP,localareanetwork(LAN)canbeusedinaclosedenvironment,alsocanbeusedundertheenvironmentofInternet.Thissoftwareisbasedonvc++6.0development,adoptthemethodofsoftwareengineering,applicationprogrammingtechnology,networktechnology,usingtheWINSOCKAPIinterface.WINSOCKisinWindowsnetworkcommunicationprogrammingAPIinterface,alsoisthestandardofWindowsnetworkprogramming.Themaincontentoftheresearchishowtousethesocketnetworkcommunicationprogram,mainlycompletedtheclientsendsamessage,sendpicturestoshowonlineusersandmanypeoplechat,filetransfer,etc.Filetransferfunctionisoneofthehighlightsofthissoftwaresystem,itcanrealizethefiletransferbetweentwousers.Throughtheuseofchat,letdistributionindifferentlocations,agroupofuserswillbeabletousedifferentmachineexchangeofinformationinatimelymanner,inordertoachievethepurposeofinformationsharing,soastoimprovetheefficiencyofworkorlife.Throughtest,thesoftwareoperationissimple,flexibilityisgood,operationisstable,canbewidelyused.

Keywords:

UDP;VC++6.0;WINSOCK;Networkcommunication

第1章绪论

1.1课题选题背景

近年来,随着全球信息化的不断发展,网络也在飞速发展。

我们都知道局域网的存在,特别是在大型企业,比如银行、公安机关等等对网络安全要求特别严格的企业单位都会有自己的局域网,因为局域网的安全可靠,使其不容易受到网络病毒的攻击,所以局域网得以在企业之中广泛应用。

然而,任何企业的部都是离不开通讯的,所以企业部通信软件就应运而生了。

这种通信软件是专为局域网通信而开发的,它适用于局域网,同时也促进了局域网的发展,局域网发展又给通信软件带来了更多应用的机会,可以说,局域网通信工具和局域网二者之间相辅相成,相互促进。

发展到今天,大多数企业都应用了局域网,可见其在当今社会的重要地位。

应用局域网办公的企业,必须要有自己企业部的通讯软件,然而,现在,在广域网上,可盈利的通讯软件到处都是,而局域网的通讯软件却很少,在功能上,也是参差不齐。

因此,为了企业更好、更安全的通讯,我想到开发一款适用于企业的局域网通信软件,恰好通过我的大学所学,我有信心在老师的讲解和指导下,很好的完成这任务。

最后,老师为我选定了基于VC++企业部通信软件的设计与实现这一题目。

1.2国外现状分析和研究成果

即时通讯工具是目前使用最为普遍的网络应用软件之一,继出现在我们的计算机上之后,网易、新浪、搜狐等知名公司也迫不与待地加入了这一领域的竞争,而微软、雅虎、AOL的国际巨头公司也一刻没有停止自己扩的脚步。

国在使用的最普与的就是腾讯,微软的MSN也受到商务人士的青睐;国外主要使用的是由美国在线出的ICQ、AMI以与微软的MSN等。

目前,windows平台方面的即时通讯软件已经很多,但是其他系统的比较少,例如Linux平台,虽然有类似方面的一些产品,比如Linux、Luna,但是数量毕竟不多且功能界面等都还不太理想;面向企业的即时通讯软件虽然比较多,但是除了、微软等公司的产品,其他的产品都还比较年轻,推出时间较短,且用户较少。

鉴于此种情况,很多公司都在开发新的即时通讯工具软件,利用新的技术开发,使客户端和服务器端的性能和功能都得到一定的提升,适合在企业部网络和互联网上运行,同时使其具备跨平台的特性,方便在各个系统上运行。

另外,许多企业已经应用了即时通讯类产品作为部交流的平台。

但绝大多数企事业单位只把即时通讯类产品作为边缘产品,没有充分的认识到即时通讯类产品在工作中的重要作用,没有想过去如何正确的应用。

还有许多企事业单位使用网络个人交流工具(如,MSN),但存在许多安全隐患。

许多开发商并没有将此产品作为公司的重点,也并没有从客户的角度出发,只是在产品线上附加即时通讯产品,做的不够完善,使此产品沦为边缘产品,从而导致即时通讯产品市场萎缩。

随着我们国家的信息化飞速发展,许多企事业单位信息化程度大幅度提高。

企事业单位非常需要使用部即时通讯产品来提高工作效率。

1.3课题研究容与意义

为了保障通信安全,建设网、专网是一个解决这一问题的方法,随着企业业务围的不断扩大,网络规模也在扩大,采用该方案的话,成本必然非常高。

由于公众信息网是对整个社会开放的公众基础网络,具有覆盖性围广、速度快、费用低、使用方便等特点,但同时却存在着安全性差的问题。

用户通过公众信息网来传输的信息,在传输的过程中可能被窃取、篡改和伪造,信息的安全性和可靠性因此会大大的降低,所以网、专网还是不可缺少的。

  在通信工具上,我们习惯了通过类似于,MSN之类的程序软件和天南地北的朋友聊天、发信息,不过所有聊天程序都需要Internet的支持,因此它们无法在局域网部大显身手,那么是否想到过要让单位部的员工,寝室周围的同学,不用上Internet就可以轻松体验到网通讯的乐趣呢?

有了这种想法,本课题的研究容——开发局域网通信软件就有了必要性,让单位员工或者寝室同学不出网就能自由通信。

  企业部通信软件是一个即时通信工具。

因此,通过该软件的设计和开发,可以对自己所学习的知识进行了一次综合提高,并且会有更深层次的理解和掌握,在这个过程中,还能激发自己的学习潜力,提高软件开发的能力,加深对网络协议和Windows环境下网络编程的理解和掌握,所以,开发企业部通信软件在理论和实践上都有非常重要的意义。

第2章相关技术概述

2.1开发环境

本节主要介绍本软件系统的开发环境,以与运用的编程工具等。

2.1.1开发工具简介

本系统采用Windows7中文操作系统,包含WindowsAPI的支持,使用面向对象的编程工具VisualC++6.0进行项目开发。

他是一款面向对象的功能强大的可视化编程开发工具。

使用VissualC++可以完成任何C语言和C++语言的程序。

其中的MFC库集成了WindowsSocketsAPI应用程序接口,使得用户可以用面向对象的方法直接调用。

AppWizard可以用来生成初步的框架文件,资源编辑器用于帮助直观地设计用户接口,CLassWizard用来协助添加代码到框架文件,并且提供文档/视图结构支持,从而使用应用程序开发变得轻松。

2.1.2VisualC++MFC概述

MFC(MicrosoftFoundationClassLibrary)库是Microsoft公司基于Windows的C++应用程序编程接口,是VisualC++中编写Windows应用程序的首选方法。

MFC是一组C++类,这些是由常用的Windows应用程序定制的。

使用MFC,可以在任何时候调用Win32函数、最大程度地利用Windows。

而且,基于MFC的程序不仅小巧而且运行速度快,这是因为VisualC++非常接近Windows的底层,所以编译器所编译出来的程序质量相当的高,从而保证了VisualC++编写出来的软件产品拥有高效率的运行速度。

MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来事更为简单的方法。

因为在总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。

2.2WinSock网络编程

WindowsSockets是从BerkeleySockets扩展而来的,其在继承BerkeleySockets的基础上,又进行了新的扩充。

这些扩充主要是提供了一些异步函数,并增加了符合WINDOWS消息驱动特性的网络事件异步选择机制。

WindowsSockets由两部分组成:

开发组件和运行组件。

开发组件:

WindowsSockets实现文档、应用程序接口(API)引入库和一些头文件。

运行组件:

WindowsSockets应用程序接口的动态库(WINSOCK.DLL)。

2.2.1 Socket简介

套接字(Socket)最初是由加利福尼亚大学Berkeley分校为UNIX操作系统开发的网络通信接口,随着UNIX操作系统的广泛使用,套接字成为当前最流行的网络通信应用程序接口之一。

90年代初,由SunMicrosystems,JSBCorporation,FTPsoftware,Microdyne和Microsoft等几家公司共同制定了一套标准,即WindowsSockets规。

WindowsSocketsAPI是MicrosoftWindows的网络程序设计接口,它在继承了BerkeleySockets主要特征的基础上,又对它进行了重要扩充。

这些扩充主要是提供了一些异步函数,并增加了符合Windows消息驱动特性的网络事件异步选择机制。

这些扩充有利于应用程序开发者编制符合Windows编程模式的软件,它使在Windows下开发高性能的网络通信程序成为可能。

Socket实际上是指一个通信端点,借助于它,用户所开发的Socket应用程序,可以通过网络与其它Socket应用程序进行通信。

近年来,随着计算机网络与Windows95的流行,许多用户所开发的应用程序需要实现网络间的数据通信。

2.2.2 开发WindowsSockets网络通信程序的软、硬件环境

所采用的操作系统软件可以是WindowsXP,Windows7,因为它们都支持WindowsSocketsAPI,在以下的介绍中,我们将以在WindowsXP环境下的开发为例。

所采用的编程语言一般可选目前较流行使用的可视化和采用面向对象技术的MicrosoftVisualC++6.0。

VisualC++6.0可在WindowsXP或Windows7环境下运行,其开发系统增加了全面集成的基于Windows的开发工具以与一个基于传统C/C++开发过程的“可视化”用户界面驱动模型。

VisualC++6.0中的Microsoft基类(MFC,即MicrosoftFoundationClass)库是一系列C++类,其中封装着为MicrosoftWindows操作系统系列编写应用程序的各种功能。

在有关套接字方面,VisualC++6.0对原来的WindowsSockets库函数进行了一系列封装,继而产生了CSocket、CSocketFile等类,它们封装着有关Socket的各种功能。

所采用的网络通信协议一般是TCP/IP。

WindowsXP和Windows7都带有该协议。

但是,所开发的网络通信应用程序并不能直接与TCP/IP核心打交道,而是与网络应用编程界面WindowsSocketsAPI打交道。

WindowsSocketsAPI则可直接与TCP/IP核心进行沟通。

TCP/IP核心协议连同网络物理介质(如网卡)一起,都是提供网络应用程序间相互通信的设施。

2.2.3 CSocket类编程模型

使用CSocket对象涉与CArchive和CSocketFile类对象。

以下介绍的针对字节流型套接字的操作步骤中,只有第三步对于客户方和服务方操作是不同的,其他步骤都一样。

(1)构造一个CSocket对象。

(2)使用这个对象的Create()成员函数产生一个socket对象。

在客户方程序中,除非需要数据报套接字,Create()函数一般情况下应该使用默认参数。

而对于服务方程序,必须在调用Create时指定一个端口。

需要注意的是,Carchive类对象不能与数据报(UDP)套接字一起工作,因此对于数据报套接字,CAsyncSocket和CSocket的使用方法是一样的。

(3)如果是客户方套接字,则调用CAsyncSocket∷Connect()函数与服务方套接字连接;如果是服务方套接字,则调用CAsyncSocket∷Listen()开始监听来自客户方的连接请求,收到连接请求后,调用CAsyncSocket∷Accept()函数接受请求,建立连接。

请注意Accept()成员函数需要一个新的并且为空的CSocket对象作为它的参数,解释同上。

(4)产生一个CSocketFile对象,并把它与CSocket对象关联起来。

(5)为接收和发送数据各产生一个CArchive对象,把它们与CSocketFile对象关联起来。

切记CArchive是不能和数据报套接字一起工作的。

(6)使用CArchive对象的Read()、Write()等函数在客户与服务方传送数据。

(7)通讯完毕后,销毁CArchive、CSocketFile和CSocket对象。

2.2.4 用VC6.0进行WindowsSockets程序开发的技术要点

(1)同常规编程一样,无论服务器方还是客户方应用程序都要进行所谓的初始化处理,这部分工作仍可采用消息驱动机制来先期完成。

(2)一般情况下,网络通信程序是某应用程序中的一模块。

在单独调试网络通信程序时,要尽量与采用该通信模块的其它应用程序开发者约定好,统一采用一种界面形式,即单文档界面SDI、多文档界面MDI和基于对话框界面中的一种(这在使用AppWizard形成项目[Project]文件时有提示),尽管这并非必须,但可使通信模块在移植到所需的应用程序时省时省力,因为VisualC++6.0这种可视化语言在给我们提供方便的同时,也给我们带来某些不便,譬如所形成的项目文件中的许多相关文件与所采用的界面形式密切联系,许多消息驱动功能,随所采用的界面形式不同而各异。

当然,也可将通信模块函数化,并形成一个动态连接库文件(DLL文件),供主程序调用。

(3)以通信程序作为其中一个模块的应用程序往往不是在等待数据发送或接收完之后再做其它工作,因而在主程序中要采用多线程(Multithreaded)技术。

即将数据的发或收,放在一个具有一定优先级(一般宜取较高优先级)的辅助线程中,在数据发或收期间,主程序仍可进行其它工作,譬如利用上一个周期收到的数据绘制曲线。

VisualC++6.0中的MFC提供了许多有关启动线程、管理线程、同步化线程、终止线程等功能函数。

(4)在许多情况下,要求通信模块应实时地收、发数据。

譬如调用之的主程序以0.5秒为一周期,在这段时间,要进行如下工作:

接收数据,利用收到的数据进行运算,将运算结果发送到其它计算机节点,周而复始。

我们在充分利用WindowsSockets的基于消息的网络事件异步选择机制,用消息来驱动数据的发送和接收的基础上,结合使用其他措施,如将数据的收和发放在高优先级线程,在软件设计上,安排好时序,尽量避免在同一时间,双方都在向对方发送大量数据的情况发生,保证网络要有足够的带宽等,成功地实现了数据传输的实时性。

2.3TCP/IP协议概述

TCP/IP协议(TransferControlProtocol/InternetProtocol)指传输控制/网络协议,又叫网络通讯协议。

这个协议作为网络中使用的基本协议,是Internet国际互联网络的基础。

TCP/IP协议是包括上百个协议,其中包括很多功能:

TCP(TransferControlProtocol)传输控制协议,IP(InternetProtocol)互联网协议,UDP(UserDatagramProtocol)用户数据报协议,ICMP(InternetControlMessageProtocol)互联网控制信息协议,FTP(FileTransferProtocol)文件传输协议,SMTP(SimleMailTransferProtocol)简单传输协议,SNMP(simleNetworkManageProtocol)简单网络管理协议,ARP(AddressResolutionProtocol)地址解析协议等。

从分层模型方面来讲,TCP/IP由四个层次组成:

链路层、网络层、传输层、应用层。

每一层负责不同的功能:

(1)链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口。

用于处理与电缆等其他任何传输媒介的物理接口细节。

(2)网络层,即互联网层,通常处理分组网络中的活动,例如分组的路由选择。

网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以与IGMP协议(Internet组管理协议)。

(3)运输层,为两台主机上的应用程序提供点对点活端到端的通信。

在TCP/IP协议组件中,有两个互不一样的传输协议:

TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通信。

由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。

而UDP则为应用层来提供。

(4)应用层,负责处理特定的程序细节。

几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序。

●Telnet远程登录

●FTP文件传输协议

●SMTP简单传输协议

●SNMP简单网络管理协议

第3章软件需求分析

3.1 需求分析

3.1.1 功能需求分析

(1)用户端的基本聊天信息发送,这些基本聊天信息包括文本和图片。

文本和图片聊天是聊天软件最基础的功能。

用户通过输入IP来查找用户,并申请加为好友,在对方同意加为好友后,在线用户列表就会更新用户,把加入的用户添加到用户列表中。

这样,两个用户之前就可以实现通信了。

在信息传输中,预计利用TCP/IP协议中的UDP协议,这是面向无连接的协议,但发送速度快,用于聊天信息传输用适合。

(2)用户端文件传输的功能,用户之间可以断点续传文件。

在传文件之前,首先创建一信息文件,记录文件传送的一些信息,并根据传输的数据量实时修改。

如果没有传完,下次就可以继续打开这个信息文件,接着上次的进度传输。

因为文件传输入要求数据不能出错,因此此模块采用TCP协议。

(3)用户端之间白板和聊天室的功能,这个功能有些类似远程会议容的传输,研究目的是为了满足企业部随时性小会议室的要求。

通过聊天室满足交流讨论,通过白板让发起者将想要表达的容,清楚的给目标对象呈现出来。

(4)用户之间后台的连接,每个用户隔指定一段时间会向用户列表中的每一用户发送消息,查看用户是否在线,如果不在线,就更新用户列表,删除用户。

3.1.2 数据需求分析

(1)客户端之间聊天信息。

在控件上显示时格式化,更易于用户的查看自己发送或接收到的信息。

(2)在线用户列表信息。

服务器端存放在适当的空间中,在发送给客户端时,对信息列表进行格式化,便于客户端提取信息。

(3)客户端向服务器端发送的确认在线信息。

包括客户端刚刚启动时的初始化

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2