毕业论文-基于.net和web-service的远程信息共享系统实现_第1页
毕业论文-基于.net和web-service的远程信息共享系统实现_第2页
毕业论文-基于.net和web-service的远程信息共享系统实现_第3页
毕业论文-基于.net和web-service的远程信息共享系统实现_第4页
毕业论文-基于.net和web-service的远程信息共享系统实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文V毕业论文题目:基于.net和webservice的远程信息共享系统实现专业:电气工程及其自动化基于.net和webservice的远程信息共享系统实现摘要信息共享平台的应用领域范围非常广,随着Internet的迅猛发展,基于Web的信息共享与协作成为了很多程序工作者多年来一直研究的主要课题。.NET平台能够创建Webservices,允许程序通过Internet进行数据通讯和数据共享,而无论所采用的是哪种操作系统、设备或编程语言。本设计主要利用.NET平台以及C++编程语言来实现信息共享平台的构建,在小型局域网中使用Internet和web服务来进行Ftp信息共享。该共享系统的设计需要预先了解.NET开发工具MicrosoftVisualStudio2005和熟悉编程语言C++。然后建立系统运行环境,并对系统进行需求分析。之后由需求分析导出系统的一系列主要模块,做出各个模块的程序流程图,最后完成所有模块的编程代码。本次共享系统的设计能够基本完成预设功能,然而在软件界面及操作自由度方面有待进一步提高,希望在以后的学习中加以改进。关键词:信息共享;.NET;WebService;Ftp;C++TheRealizationofremoteinformationsharingsystemBasedon.NETandWebserviceABSTRACTInformationsharingplatformhaveverywiderangeofapplications,WiththerapiddevelopmentofInternet,Web-basedinformationsharingandcoordinationproceduresforworkersasmanyofthekeyissuesformanyyears.NETplatformcancreateWebservices,allowaprogramthroughInternetfordatacommunicationanddatasharing,regardlessofwhatkindofadoptedoperatingsystem,deviceorprogramminglanguage.Thedesignmainlyuse.NETplatformandC++programminglanguagetobuildinformationsharingplatformandcarryInternetandwebservicestoshareinformationintheFtpinsmalllocalareanetworks.Firstsharingsystemdesignrequirestolearnaboutknowledgeof.NETdevelopmenttoolsandMicrosoftVisualStudio2005C++programminglanguage.ThenIneedcreateasystemoperatingenvironmentandanalyzethesystemrequirements.Getaseriesofmajormodulesderivedfromtheneedsanalysissystemandmaketheprogramflowchartofthevariousmodules.CompletetheprogrammingcodeforallmodulesFinally.Thesharingsystemisdesignedtobasicallycompletethedefaultfunction,however,thesoftwareinterfaceanddegreesoffreedominthesoftwareoperationshouldbeimproved,hopetoimprovefromlearninginthefuture.Keywords:InformationSharing;.NET;WebService;Ftp;C++目录1引言 12语言及开发工具简介 22.1C++语言简介 22.2选用的工具简介 32.2.1VisualStudio2005简介 32.2.2SQLServer2000简介 43需求分析及控件功能设定 53.1共享系统需求分析 53.2共享系统各控件功能设定 54模块详细设计 64.1系统开发环境 64.2IIS简介 64.3连接控件设计 64.4下一层控件设计 114.5上一层控件设计 144.6upload控件设计 164.7download控件设计 195系统运行环境及测试 235.1系统运行所需环境 235.1.1Internet信息服务(IIS)的安装 235.1.2用CesarFTP软件建立FTP服务器 245.2系统测试 266结论 27参考文献 28致谢 29PAGE301引言当前知识经济时代,信息交换的作用更加的重要,随着Internet的迅猛发展,信息的数字化程度与日俱增,对网络信息的开发和利用成为了信息相关工作者所要研究的新课题。本文所指信息共享,专指网络信息资源共享,即以数字化形式所记录,以多媒体形式所表达,储存在计算机网络磁性介质,光介质及其他各种通信介质上,通过网络通信传递的信息的集合。与传统信息资源相比,网络信息资源有可共享性和边际成本趋零的特点[3]。信息共享的使用的广泛性,决定了其在人类如今生产生活中所占的重要位置。政府部门、行政机关、教育机构、甚至到个体公司及用户,都在不同程度且各取所需的完成各自的信息共享。随着计算机网络科学技术的普及,很多公司机构内部各部门都以适合的工具软件储存并传输相关的电子数据。但是随着信息化程度的提升,为了更好地提高工作效率,部门间的信息共享需求越来越强烈,通常能够通过开发网络信息共享系统来满足用户的需求。网络信息共享是以计算机及网络为依托,选择适合的管理系统,采用软件开发技术以实现对各种电子信息资源网络化发布和管理的开放平台。开发过程中需解决四方面的问题:是一个相互连通的网络体系。是选择合适的软件设计工具和开发技术。是选择易于维护的数据库管理系统。是选择适合发布的源信息形式。本软件所选用的开发平台是VisualStudio。VisualStudio是开发创建Windows平台下的Windows应用程序和网络应用程序中的佼佼者,VisualStudio是.NET平台下最强大的开发工具,无论是企业应用程序的部署和发布,还是软件服务商,VisualStudio都能够提供近乎完美的解决方案。再配合SQLServer所拥有的强大的数据库功能和优良的兼容可靠性,是实现软件设计功能的黄金搭档。因此软件设计所选工具是正确的,软件的设计方案也可以说是切实可行的。当前,网络信息共享的观念已经深入人心,人们对网络信息共享的研究也在逐渐深化,以网络及计算机为代表的先进现代信息技术为共享的实践性提供了强有力的技术后盾支持,共建的共享事业也在如火如荼得开展,一切都似乎在暗示我们距离网络信息共享的理想越来越接近。在面对似乎触手可及的信息共享理想的同时,也许我们更需要的是对信息共享实践的自省与审视。从现实情况看来,网络信息共享的理论尚不成熟,机制尚未完善,关于共享的实践在技术、观念、管理等方面存在的诸多问题,并尚未解决。因此,我们更加的需要研究信息共享的近期目标和远期战略,使得信息共享向着更好、更广、更快的方向发展,并且需要做好面对更加困难局面的准备。尽管我们都努力地去描绘那通往理想的最平坦、最笔直的道路,但脚下的路注定崎岖而坎坷。然而,朝着理想奋勇前行、永不放弃,正是古代及现代人类不断追求文明的过程[5]。2语言及开发工具简介2.1C++语言简介C++是由AT&T贝尔实验室的BjarneStroustrup博士所创建的以C语言为基础的支持面向对象的程序设计程的设计语言。研发C++的目标之一是除去C语言中存在很多的问题,增加了很多新的功能,其二是支持面向对象,在其中引入了类的机制。C++语言发展大致可分三个阶段:第一阶段从80年代至1995年。这一阶段C++语言基本是传统类型上的面向对象语言,并凭借着接近C的效率,在工业界所使用的开发语言中占据了相当大的比重;第二阶段从1995年至2000年,这一阶段由于标准模板库(STL)和之后的Boost等程序库的出现,泛型程序设计在C++程序设计中占据了越来越大的比重。当然,同时由于Java、C#等其他语言的出现和硬件价格的大规模下调,C++也受到了一定的打击;第三阶段从2000年至今日,以Loki、MPL等程序库为代表的模板元编程和产生式编程的出现,C++出现了历史上又一个新的发展高峰,这些新技术的出现及与原有技术的融合,使C++成为了当今主流程序语言中最为复杂的一个。C++有两个主要特点:(1)全面支持C语言;(2)面向对象。C++由C语言发展而来,不仅保持了C语言高效、简洁和某些汇编指令的特点。也对C语言进行了系统的扩充改革,去除了语言中的许多漏洞,C++编译功能提供了更加出色的类型检查和编译分析,能够检查出更多类型的错误。C++更提高了C语言的安全性。因为C++和C语言兼容,使的许多C语言代码无需修改便可在C++中编译通过,用C编写的许多库函数能够方便地移植到C++编程语言中。熟练C的程序员能够很快地学会C++,并用之进行编程。此外,C++程序具有更好的可读性和更为合理的代码结构。C++支持面向对象的程序设计,使用C++进行编程,具有很高的编程效率;因为面向对象的过程更接近于人类认识和改造世界的过程,C++更加容易描述过程,程序更加容易理解。C++程序开发包括编辑、预处理、编译、连接、运行与调试等5个阶段。编辑阶段的任务即编辑源程序,源程序是用C++语句所写的程序段落。C++源程序文件有.h、.c、.cpp等扩展名。.cpp是C++源程序的标准扩展名。在不同的编译器与操作系统环境下,源程序的编辑器不同。Linux系统环境中,使用的编辑器有emacs与vi两种。在MicrosoftWindows系统环境中,BorlandC++、MicrosoftVisualC++集成了编辑器。除此之外,还可以用其他的文字处理软件编辑源程序。之后,用编译器对源程序进行编译过程。编译器会将源程序翻译成机器代码。编译过程3个步骤为:词法分析、语法分析、代码生成。编译器开始进行翻译工作之前,预处理器将会自动执行源程序的预处理命令。这些预处理命令是在编译前所执行的语句,该处理包括:把其他源程序文件包含到要编译的文件之中和执行各种文字间的替换等。虽然说目标程序可以由可执行机器语言组成,但并不能完全由计算机直接执行。因为C++程序中通常包含了其他模块中定义的函数与数据的引用,如自定义库、标准库或模块。C++编译器生成目标代码时,连接器的功能是将缺失函数的代码同目标码连接起来,生成可执行的代码,存储为可执行文件。.exe为Windows系统下可执行文件的扩展名。现在的一些C++系统开发工具,如BorlandC++与MicrosoftVisualC++,将程序的编辑、编译和连接集成在一个环境中。在这个开发环境中,编译和连接能够一起进行。程序连接成功后,会生成可执行文件。运行时,可执行文件将由操作系统装入内存中,然后中央处理器从内存中取出程序并执行。程序开发过程中的各阶段都有可能出现错误,编译出现的错误称为编译错误;连接出现的错误称为连接错误;程序运行中出现的错误称为运行错误,也称为逻辑错误。遇到错误时可通过C++系统所提供的调试工具debug来帮助并发现程序逻辑错误,然后改正错误。当前C++系统均提供源代码级别的调试工具,可以直接对源程序进行调试[2]。在C++系统开发程序的过程如图2-1所示。图2-1程序开发流程图2.2选用的工具简介2.2.1VisualStudio2005简介VisualStudio是微软公司所推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。VisualStudio是目前最流行的Windows平台应用程序开发环境。经过VisualStudio97、VisualStudio6.0、VisualStudio2003、VisualStudio2005、VisualStudio2008等各版本的发展,目前已经开发到10.0版本,也就是VisualStudio2010。本次设计所选用的版本是VisualStudio2005。VisualStudio2005包含了一系列高效、智能的开发工具,无论是为开发初学者,还是为经验丰富的企业开发团队都提供了很多全新的、强大的功能:(1)全方位的工具平台:不论您是一位编程初学者还是一个富有经验的企业开发团队的一员,为您提供高效的开发工具。(2)减少开发的复杂度:确保您能更加轻松发布基于Framework的解决方案,包括Windows、Web、移动和基于Office的应用。(3)第三方的生态系统:允许您利用来自VisualStudio行业合作伙伴的参与研发的产品,并体验用来补充VisualStudio2005第三方解决方案的全面部署。(4)改善团队的沟通:给您提供高效智能的生命周期工具,通过使用VisualStudio2005TeamSystem,来增强IT周期参与者之间的交流与协作。2.2.2SQLServer2000简介SQL(StructuredQueryLanguage)是结构化的查询语言。SQL编程语言的重要功能是同各种的数据库进行联系与沟通。按照ANSI(美国国家标准协会)的规定,SQL成为为关系型数据库管理系统的标准型语言。SQL语句可以用来执行各种数据库的操作,如从数据库中提取数据,更新数据库中的数据等。大多数主流的关系型数据库管理系统均采用了SQL标准语言。SQLServer2000是Microsoft公司所推出的SQLServer数据库管理系统,此版本继承了SQLServer7.0的优点,同时也增加了更多先进的功能。具有可伸缩性好使用方便和软件集成度高等优点,可以跨越从运行MicrosoftWindows98的电脑到运行MicrosoftWindows2000的处理器等多种平台的使用。3需求分析及控件功能设定3.1共享系统需求分析为了解决公司、机构等小型局域网内部电子文件传输的繁琐、重复作业及信息流转不通畅造成的低效率工作环境,本ftp共享系统计划有如下的特点:(1)干净的软件界面,用户只需登陆客户端,便可完成相应操作,同QQ等软件一般,操作方便、简单,不同年龄段人群都会很快学会使用该软件。(2)通过软件输入在ftp服务器设置的账号及密码,登陆ftp服务器,保证ftp服务器安全。(3)实现基本上传、下载功能,完成网络信息共享任务,方便公司等小型局域网电子数据的传输。3.2共享系统各控件功能设定(1)ftp服务器:用于输入在局域网内部所建立的ftp服务器地址。(2)用户名:用于输入此ftp服务器内部设定的用户名。(3)密码:用于输入此用户名的相关密码。(4)连接:单击后连接所填写的ftp服务器地址的相应账户。 (5)上一层:回到文件夹的上级目录。(6)下一层:打开选中文件夹。(7)upload:上传选中文件到相应文件夹。(8)download:下载选中文件到相应文件夹。(9)取消:退出共享系统。4模块详细设计4.1系统开发环境本共享系统采用的是Visualstudio2005开发软件进行设计开发,包括用户界面、控件编程,软件的调试与应用。并在SQLServer2000上建立数据库,存储上传及下载所需的文件数据。4.2IIS简介IIS即指专为网络所需的计算机网络服务而设计制造的一整套网络套件。不但有WWW、MTP、NNTPS、FTP等服务,同时本身也拥有TransactionServer、ActiveServerPages、IndexServer等功能强大的服务器端口软件。除此之外它也具有以下特点:(1)提供控制的“匿名用户”的存取权限功能。(2)提供远程计算机管理功能。(3)提供IndexServer可提高信息查询速度。(4)提供支持单台计算机设备通过不相同的IP地址,能同时架设多个不相同的Web和FTP网站。(5)通过设置SSL来提供数据加密和身份验证功能4.3连接控件设计在输入ftp服务器地址及其相应用户名密码的的基础上,单击连接控件,登陆ftp服务器,并读取本地文件目录及远程文件目录,并显示。开始开始新建对话 新建对话新建连接对象新建连接对象获取错误获取错误获得服务器根目录的所有获得服务器根目录的所有文件并在列表框中显示获得指定目录下的所有文件,并在列表框中显示获得指定目录下的所有文件,并在列表框中显示清空列表框清空列表框查找目录下的文件查找目录下的文件,判断文件或文件夹,并显示图4-1连接控件的设计流程图在本机上设定ftp服务器,ip地址为48。增加了用户名为1,密码也为1的单个账户,用visualstudio2005运行程序后出现软件初始界面,如图4-2所示:图4-2软件初始界面图软件的本地文件一栏默认打开的是c盘主目录,远程文件一栏为空。输入账户信息后,单击连接后,如图4-3所示:图4-3单击连接控件图如上所示,远程文件打开了所预先设置的software文件夹,并且类型一栏会显示文件或者文件夹,达到了如期的效果。连接控件设计代码如下://连接ftp服务器voidCMyFtpDlg::OnConnect(){ UpdateData(TRUE); //新建对话 m_pInetSession=newCInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS); try { //新建连接对象 m_pFtpConnection=m_pInetSession->GetFtpConnection(m_strServer,m_strUserName, m_strPassword); } catch(CInternetException*pEx) { //获取错误 TCHARszError[1024]; if(pEx->GetErrorMessage(szError,1024)) AfxMessageBox(szError); else AfxMessageBox("Therewasanexception"); pEx->Delete(); m_pFtpConnection=NULL; return; } m_pRemoteFinder=newCFtpFileFind(m_pFtpConnection); //获得服务器根目录的所有文件并在列表框中显示 BrowseDir("",&m_ctrlRemoteFiles,m_pRemoteFinder,&m_arrRemoteFiles);}//获得指定目录下的所有文件,并在列表框中显示voidCMyFtpDlg::BrowseDir(CStringstrDir,CListCtrl*pLstCtrl,CFileFind*pFinder,CArray<FILEITEM,FILEITEM&>*pFilesArr){ //清空列表框 pLstCtrl->DeleteAllItems(); pFilesArr->RemoveAll(); intnIndex=0; CStringszDir=strDir; if(szDir.Right(1)!="\\") szDir+="\\"; szDir+="*.*"; //查找目录下的文件 BOOLres=pFinder->FindFile(szDir); while(res) { res=pFinder->FindNextFile(); //是目录 if(pFinder->IsDirectory()&&!pFinder->IsDots()) { FILEITEMfileitem; fileitem.nItem=nIndex; fileitem.bDir=TRUE; fileitem.strFileName=pFinder->GetFileName(); pFilesArr->Add(fileitem); AddItem(pLstCtrl,nIndex,TRUE,pFinder->GetFileName()); } //是文件 elseif(!pFinder->IsDirectory()&&!pFinder->IsDots()) { FILEITEMfileitem; fileitem.nItem=nIndex; fileitem.bDir=FALSE; fileitem.strFileName=pFinder->GetFileName(); pFilesArr->Add(fileitem); AddItem(pLstCtrl,nIndex,FALSE,pFinder->GetFileName()); } nIndex++; }}//给列表框增加一条记录voidCMyFtpDlg::AddItem(CListCtrl*pLstCtrl,intnIndex,BOOLbDir,CStringstrText){ LV_ITEMlvitem; intiActualItem; for(intiSubItem=0;iSubItem<2;iSubItem++) { lvitem.mask=LVIF_TEXT|(iSubItem==0?LVIF_IMAGE:0); lvitem.iItem=(iSubItem==0)?nIndex:iActualItem; lvitem.iSubItem=iSubItem; switch(iSubItem) { case0: lvitem.pszText=(LPTSTR)(LPCTSTR)strText; break; case1: if(bDir) lvitem.pszText="文件夹"; else lvitem.pszText="文件"; break; } if(iSubItem==0) iActualItem=pLstCtrl->InsertItem(&lvitem); else pLstCtrl->SetItem(&lvitem); } }4.4下一层控件设计单击下一层控件,会打开所选中的文件夹。因为流程比较单一,因此省略程序流程图。在此说明对本地文件及远程文件的访问过程的编程代码不同:选中本地文件的windows文件夹,单击下一层,如图4-4所示:图4-4本地文件下一层界面图本地文件下一层控件代码://本地文件目录中向下一层voidCMyFtpDlg::OnLocalDownd(){ POSITIONpos=m_ctrlLocalFiles.GetFirstSelectedItemPosition(); if(pos) { intnItem=m_ctrlRemoteFiles.GetNextSelectedItem(pos); FILEITEMfileItem=m_arrLocalFiles.GetAt(nItem); if(fileItem.bDir==TRUE) { CStringstrDir; strDir.Format("%s\\%s",m_LocalFinder.GetRoot(),fileItem.strFileName); m_strLocalParentRoot=m_LocalFinder.GetRoot(); BrowseDir(strDir,&m_ctrlLocalFiles,&m_LocalFinder,&m_arrLocalFiles); } }}选中远程文件的software文件夹,单击下一层,如图4-5所示:图4-5远程文件下一层界面图远程文件下一层控件代码://远程文件目录中向下一层voidCMyFtpDlg::OnRemoteDownd(){ POSITIONpos=m_ctrlRemoteFiles.GetFirstSelectedItemPosition(); if(pos) { intnItem=m_ctrlRemoteFiles.GetNextSelectedItem(pos); FILEITEMfileItem=m_arrRemoteFiles.GetAt(nItem); if(fileItem.bDir==TRUE) { CStringstrDir; strDir.Format("%s\\%s",m_pRemoteFinder->GetRoot(),fileItem.strFileName); m_strRemoteParentRoot=m_pRemoteFinder->GetRoot(); BrowseDir(strDir,&m_ctrlRemoteFiles,m_pRemoteFinder,&m_arrRemoteFiles); } }} 4.5上一层控件设计单击上一层控件,会跳转到文件夹的上一层目录。因为流程比较单一,因此省略程序流程图。在此说明对本地文件及远程文件的访问过程不同,编程代码分别如下所示:单击本机文件上一层,如图4-6所示:图4-6本地文件上一层界面图本地文件上一层控件代码://本地文件目录中向上一层voidCMyFtpDlg::OnLocalUp(){ if(m_strLocalParentRoot=="") return; BrowseDir(m_strLocalParentRoot,&m_ctrlLocalFiles,&m_LocalFinder,&m_arrLocalFiles);}单击远程文件上一层,如图4-7所示:图4-7远程文件下一层界面图远程文件上一层控件代码://远程文件目录中向上一层voidCMyFtpDlg::OnRemoteUp(){ if(m_pFtpConnection==NULL) return; if(m_strRemoteParentRoot=="") return; BrowseDir(m_strRemoteParentRoot,&m_ctrlRemoteFiles,m_pRemoteFinder,&m_arrRemoteFiles);}//本地文件目录中向下一层voidCMyFtpDlg::OnLocalDownd(){ POSITIONpos=m_ctrlLocalFiles.GetFirstSelectedItemPosition(); if(pos) { intnItem=m_ctrlRemoteFiles.GetNextSelectedItem(pos); FILEITEMfileItem=m_arrLocalFiles.GetAt(nItem); if(fileItem.bDir==TRUE) { CStringstrDir; strDir.Format("%s\\%s",m_LocalFinder.GetRoot(),fileItem.strFileName); m_strLocalParentRoot=m_LocalFinder.GetRoot(); BrowseDir(strDir,&m_ctrlLocalFiles,&m_LocalFinder,&m_arrLocalFiles); } }}4.6upload控件设计本软件设计只支持单个文件的上传功能,如果未选中文件,跳出对话框提示请选中要上传的文件;如果选中文件夹,跳出对话框提示本程序暂时不支持上载整个文件夹,请选择文件上载;当选中单个文件,再单击上传,文件会上传到当前所打开的远程文件夹。图4-8上传控件程序流程图选择c盘主目录下的报名号.txt文件,单击上传,如图4-9所示:图4-9上传文件界面图上传控件代码://响应“Upload”按钮voidCMyFtpDlg::OnUpload(){ //如果没有建立连接,退出 if(m_pFtpConnection==NULL) return;//上传所有选中文件 POSITIONpos=m_ctrlLocalFiles.GetFirstSelectedItemPosition(); if(pos==NULL) AfxMessageBox("请选择要上传的文件"); else { while(pos) { intnItem=m_ctrlLocalFiles.GetNextSelectedItem(pos); UpFile(m_arrLocalFiles.GetAt(nItem)); } }}}//上传单个文件voidCMyFtpDlg::UpFile(FILEITEMfileItem){ if(fileItem.bDir==TRUE) { AfxMessageBox("本程序暂时不支持上载整个文件夹,请选择文件上载"); } else { //格式化文件名 CStringstrLocalFile,strRemoteFile; strRemoteFile.Format("%s\\%s",m_pRemoteFinder->GetRoot(),fileItem.strFileName); strLocalFile.Format("%s\\%s",m_LocalFinder.GetRoot(),fileItem.strFileName);//上传 if(m_pFtpConnection->PutFile(strLocalFile,strLocalFile)) { CStringstrMsg; strMsg.Format("上载文件%s成功!",fileItem.strFileName); AfxMessageBox(strMsg); } }}4.7download控件设计本软件设计只支持单个文件的下载功能,如果未选中文件,跳出对话框提示请选中要下载的文件;如果选中文件夹,跳出对话框提示本程序暂时不支持下载整个文件夹,请选择文件上载;当选中单个文件,再单击下载,文件会下载到当前所打开的本地文件夹。图4-10下载控件程序流程图选择software文件夹下的鲁大师.exe文件,单击下载,如图4-11所示:图4-11下载文件界面图下载控件代码://响应“download”按钮voidCMyFtpDlg::OnDownload(){ //如果没有建立连接,退出 if(m_pFtpConnection==NULL) return; //下载所有选中文件 POSITIONpos=m_ctrlRemoteFiles.GetFirstSelectedItemPosition(); if(pos==NULL) AfxMessageBox("请选择要下载的文件"); else { while(pos) { intnItem=m_ctrlRemoteFiles.GetNextSelectedItem(pos); DownFile(m_arrRemoteFiles.GetAt(nItem)); } }}}//下载单个文件voidCMyFtpDlg::DownFile(FILEITEMfileItem){ if(fileItem.bDir==TRUE) { AfxMessageBox("本程序暂时不支持下载整个文件夹,请选择文件下载"); } else {//格式化文件名 CStringstrLocalFile,strRemoteFile; strRemoteFile.Format("%s\\%s",m_pRemoteFinder->GetRoot(),fileItem.strFileName); strLocalFile.Format("%s\\%s",m_LocalFinder.GetRoot(),fileItem.strFileName);//下载 if(m_pFtpConnection->GetFile(strLocalFile,strLocalFile)) { CStringstrMsg; strMsg.Format("下载文件%s成功!",fileItem.strFileName); AfxMessageBox(strMsg); } }} 5系统运行环境及测试5.1系统运行所需环境5.1.1Internet信息服务(IIS)的安装Internet信息服务(IIS)在windowsserver2003默认已经安装完毕,但是在windowsxp下则需要自己手动安装。安装过程如图5-1,打开控制面板->添加/删除Windows组件->选择Internet信息服务->点击下一步进行安装。安装过程中会需要在光驱中插入xp的系统光盘,插入光盘,单击继续安装。之后,IIS就安装完成了,单击完成即可。图5-1Internet信息服务(IIS)的安装选中默认网站点击右键,在弹出的菜单中选择属性,点击文档,单击添加,选中index.aspx点确定,用同样的办法添加default.aspx。图5-2IIS安装配置5.1.2用CesarFTP软件建立FTP服务器首先需要安装CesarFTP软件,与其他软件安装方法一样,在此不再赘述。软件安装界面如图5-3所示:图5-3CesarFTP软件的安装开启CesarFTP->点击控制->打开启动对话框,按如下设置->确定图5-4FTP建立步骤1点击设置>打开用户和组设置->增加新用户组,设置用户名为1,密码为1的账户。图5-5FTP建立步骤2点击文件存取权限,将想要为此用户共享的文件夹拖至左下角框中,选中读取及写入。图5-6FTP建立步骤35.2系统测试软件测试过程主要由两方面组成:开发和测试人员的协调同步问题和缺陷判断及修改的问题。测试过程重点涉及两个角色,即开发人员和测试人员,测试包括测试流程的组织、测试文档管理、缺陷的组织和管理、测试用例管理。整个测试过程就是两个角色的协作交互的过程。测试过程比较顺利,基本能够达到目标要求。6结论本共享系统软件在设计上基本达到预期,每个设定控件均能够完成各自功能,根据上文叙述,本共享软件综合有如下特点:(1)界面清爽干净,简洁大方,适合不同年龄人员使用。(2)带有账户密码登陆设置,保障了ftp服务器的安全性。(3)实现了基本上传下载功能,保证了公司或者其他小型局域网络电子信息的传输。但是,由于时间仓促,加上自己在编程方面的能力有待加强,本软件从软件界面到功能完成等诸多方面有待加强,综合如下:(1)界面设计不够美观,单调呆滞。(2)操作不够流畅,自由度不高,只能通过按键来完成操作,之后可以添加键盘操作的指令,方便办公使用。(3)没有保存用户名及密码的功能,每次打开都需要重新输入,这对平时工作也带来诸多的不便。参考文献[1]陆昆仑,李旭东,吴媛静.Webservice编程[M].北京:北京希望电子出版社,2003:全书[2]陈建峰,张荣奇.VisualC++.NET实用编程百例[M].北京:清华大学出版社,2004:224-385[3]牛力,傅韵.VisualC++.NET编程[M].北京:电子工业出版社,2006:1-23[4]崔莹,王华军,姚雪峰.VisualC++数据库实用编程100例[M].北京:中国铁道出版社,2007:2-13[5]杨典华,王树德.基于_net环境的分布WebServic式的模型[J].首都师范大学学报,2010,29(3):19-23[6]曲扬.精通VisualC++实效编程280例[M].北京:人民邮电出版社,2009:311-342[7]郭奇青,张亚楠.基于WebServices的校园教学资源共享系统研究与实现[J].企业导报,2010,277:1-2[8]杨典华,王树德.基于_net环境的分布式Webservice的模型[J].首都师范大学学报,2010,29(3):19-23[9]胡旭侠,刘书家,李文正.基于Web服务的分布式数据库共享模型的研究[J].北京工商大学学报,2006,24(4):33-35[10]金胜勇,孔志军.信息资源共享的理想与实现[J].情报科学,2007,25(4):502-505[11]Hyung-JaeLee,Kyoung-YunKim,Hyung-JeongYang,Soo-HyungKim,Sook-YoungChoi.Multi-modalDataIntegrationUsingGraphforCollaborativeAssemblyDesignInformationSharingandReuse[J].LectureNotesinComputerScience,2007,4570:521-530[12]GökhanYüzgülec,MarkusWitthautBernd,Hellingrath.AuswirkungendesInformationSharingsinSupplyChains[J].SupplyChainNetworkManagement,2006,1007:81-95[13]YangDianhua,WangShude.ResearchandImplementationofCampusTeachingResourcesSharingSystemBasedonWebServices[J].CapitalNormalUniversity,2008,29(3):19-23[14]StefanBöttcher,SebastianObermeier.SovereignInformationSharingAmongMaliciousPartners[J].LectureNotesinComputerScience,2006,4165:18-29[15]ItsukiNoda,YasushiHada,Jun-ichiMeguroandHirokiShimora.InformationSharingandIntegrationFrameworkAmongRescueRobots/InformationSystems[J].RescueRobotics,2009,1007:145-159致谢毕业设计从真正开始到现在已经三、四个月了,在此期间我所得到的收获是巨大的。一段看似短小的编程代码往往需要很多次修改才能通过编译连接,一个表面简单的细节往往要经过多次重复才能更加完善。无论在知识储备上还是在设计能力上,三、四个月的毕业设计都给我带来了太多难以言喻的收获。在此文的结尾,我要真心地向刘老师致以感谢,刘老师在这段时间不仅要往返本部和新区授课,还要时时刻刻地关注着我们毕业设计的进展情况,并且一直给予我们知识和信心上的莫大支持,所以在此我要向刘老师致以崇高的敬意!在做毕业设计的过程中,其他很多老师同学也给了我许多帮助,在此表示忠心的感谢。 基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论