局域网文件传输系统

上传人:文*** 文档编号:62684999 上传时间:2022-03-15 格式:DOC 页数:31 大小:430KB
收藏 版权申诉 举报 下载
局域网文件传输系统_第1页
第1页 / 共31页
局域网文件传输系统_第2页
第2页 / 共31页
局域网文件传输系统_第3页
第3页 / 共31页
资源描述:

《局域网文件传输系统》由会员分享,可在线阅读,更多相关《局域网文件传输系统(31页珍藏版)》请在装配图网上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 局域网文件传输系统摘要随着国内外各公司企业的发展壮大和这些企业和公司在办公中更加频繁的使用网络作为公司信息交流的渠道,局域网络在人们的工作和生活中得到了充足的发展。本课题旨在培养学生利用现有技术进行实际动手的能力,并使得学生能够深入了解局域网在文件传输方面的应用。局域网小到网内只有两台PC机,大到一个企业的内部网络,它们最主要的功能在于交流和传输文件,并且安全性高、速度快、准确性高。鉴于局域网有如上优点,开发一个方便快捷的局域网文件传输系统是很有意义的,它在文件传输方面的高效准确将会提高企业的办事效率,为企业节省开支,为家庭用户提供方便。关键词

2、TCP/IP协议;C/S结构;Windows Sockets编程;VC+LAN File Transfer System AbstractNowadays, along with the domestic and foreign companies more and more frequently use the network as a channel for the exchange of information after their companies have full development, the local area network (LAN) has been fully

3、developed in peoples life and work. This paper aims at training students to use existing technology to practical use, and makes the students to understand the application of LAN in the file transfer. LAN in scale vary from a network within only two PC to an enterprises internal network, their main f

4、unction is communication and file transfer, and with the advantage of high safty, high speed and high accuracy.In view of LANs these advantages, it is of great significance to develop a convenient and efficient LAN file transfer system. For its high speed and accuracy, it will improve enterprises wo

5、rk efficiency and provide convenient for families.Keywords The TCP/IP Protocol; C/S Structure; Windows Sockets Programming; VC+目录摘要2Abstract3第1章 绪论61.1 选题背景61.2 国内外研究现状61.3 课题研究的意义61.4 论文研究内容6第2章 理论知识82.1 TCP/IP协议82.1.1 网络接口层82.1.2 网络层82.1.3 传输层82.1.4 应用层92.2 C/S架构92.2.1 C/S架构的概念92.2.2 C/S架构的具体操作步骤1

6、02.3 VC可视化编程环境102.4 Windows Socket编程知识112.4.1 Windows Socket的发展112.4.2 Windows Sockets的分类112.4.3 Windows Sockets API112.5 本章小结12第3章 软件设计133.1局域网文件传输系统程序设计133.2 局域网文件传输系统设计步骤143.3 设计客户端所用到的函数243.4 设计服务器所用到的函数243.5 消息与消息函数243.6 功能按钮与函数的对应关系25第4章 软件测试264.1 程序的安装与运行264.2 在局域网内传输文件测试264.2.1 设置服务器264.2.2

7、设置客户机并传输文件274.3 本章小结30第5章 结论31参考文献32第1章 绪论1.1 选题背景随着国内外各公司企业的发展壮大和这些企业和公司在办公中更加频繁的使用网络作为公司信息交流的渠道,局域网络在人们的工作和生活中得到了广泛的发展。本课题旨在培养学生利用现有技术进行实际动手的能力,并使得学生能够深入了解局域网在文件传输方面的应用。局域网小到网内只有两台PC机,大到一个企业的内部网络,它们最主要的功能在于交流和传输文件,并且安全性高、速度快、准确性高。鉴于局域网有如上有点,开发一个方便快捷的局域网文件传输系统是很有意义的,它在文件传输方面的高效准确将会提高企业的办事效率,为企业节省开支

8、,为家庭提供方便。本论文所设计的局域网文件传输系统通过局域网内用户的主机名、IP地址和工作组的名称确定了需要传输文件的双方,进而以C/S模式通过TCP/IP协议实现双方文件的传输功能。1.2 国内外研究现状大型局域网广泛存在于国内外大型企业中,而大部分企业还是通过Internet等等外网或者U盘等硬件来传输文件,只有少数企业针对该企业的特点设计了自己的文件传输系统,总的来说在企业内部发展局域网文件传输系统还有很大的发展空间。从1969年美国国防部高级研究计划管理局( ARPA - - Advanced Research Projects Agency )建立了一个命名为ARPAnet的网络开始

9、到今日,网络发展已走过足足50年的时间,在这漫长的时间里,局域网文件传输系统也得到了相应的发展,现在正处于高速发展阶段,这从现今市面上流行的腾讯QQ、飞鸽传书等可见一斑。可以想象,在不久的将来,以内部网络为中心的资源共享系统将在全世界的信息流动中占有到举足轻重的地位。1.3 课题研究的意义本课题使学生了解局域网在实际工作和生活中的应用,通过让学生自己动手开发比较简单局域网文件传输系统来强化学生的理论知识,培养学生的实际动手能力。另外,本课题也使得学生对软件开发有了一个感性的认识,为我们在日后的工作中进一步设计更复杂的系统打下了基础。1.4 论文研究内容用Microsoft visual C+

10、6.0软件开发一个以C/S模式通过TCP/IP协议实现点到点文件传输的简单的局域网文件传输系统软件。该软件传输的文件格式包括文本文档(txt)、图片(JPG)和压缩包(.rar)等等。该传输系统运行的操作系统平台为Windows XP 或者Windows 7,在传输文件之前,需要将多台(=2台)电脑通过路由器或者交换机用网线连接在一起,为各台PC机设置好IP并建立一个工作组。在这些电脑上分别安装局域网文件传输系统并运行,实现文件传输的具体步骤如下:1、 在工作组内的所有PC机上运行该软件,并将其中一台PC机设置为服务器。2、 在设置为服务器的PC机上打开要发送的文件。3、 输入要接受文件的PC

11、机的IP地址号、端口号,并连接服务器。4、 发送文件。第2章 理论知识这一章介绍开发局域网文件传输系统所涉及到的理论知识,包括TCP/IP协议,C/S架构, VC可视化编程环境,Windows Socket编程。2.1 TCP/IP协议TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP 定义了电子设备(比如计算机)如何连入因特

12、网,以及数据如何在它们之间传输的标准。TCP/IP是一个四层的分层体系结构。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。 具体介绍如下2.1.1 网络接口层物理层定义物理介质的各种特性:1、机械特性;2、电子特性;3、功能特性;4、规程特性。 数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。 常见的接口层协议有: Ethernet 802.3、Token Ring 802.5、

13、X.25、Frame relay、HDLC、PPP ATM 等。 2.1.2 网络层网络层负责相邻计算机之间的通信。其功能包括三方面。 (1)、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。 (2)、处理输入数据报:首先检查其合法性,然后进行寻径-假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。 (3)、处理路径、流控、拥塞等问题。 2.1.3 传输层传输层负责提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议

14、规定接收端必须发回确认,并且假如分组丢失,必须重新发送。 传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。 2.1.4 应用层应用层负责向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。 应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。 2.2

15、C/S架构2.2.1 C/S架构的概念C/S即Client/Server结构,是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 传统

16、的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。 C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个: 1、只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要

17、专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 2、客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。 3、 对客户端的操作系统一般也会有限制。2.2.2 C/S架构的具体操作步骤客户/服务器模式在操作过程中采取的是主动请求方式。1、服务器方的具体操作步骤如下:(1)、首先服务器方要先启动,并根据请求提供相应服务。(2)、打开一个通信通道并告知本地主机,它愿意在某一端口上接收客

18、户请求。(3)、等待客户请求到达该端口。(4)、接收到重复请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一新进程来处理这个客户请求。新进程处理此客户请求,并不需要对其他请求做出应答。服务完成后,关闭此进程与客户的通信链接,并终止该进程。(5)、返回第二步,等待另一客户请求。(6)、关闭服务器。2、.客户方的主要操作步骤如下:(1)、打开一通信通道,并链接到服务器所在主机指定端口。(2)、向服务器发服务请求报文,等待并接收应答;继续提出请求。(3)、请求结束后关闭通信通道并终止。2.3 VC可视化编程环境在Microsoft Visual C+ 6.0开发环境Developer St

19、udio 是在Windows 98/2000/XP/7环境下运行的一套集成工具,由文本编辑、资源编辑器、项目建立工具、优化编辑器、增量连接器、源代码浏览器、集成调试器等组成。Visual C+ 6.0的软、硬件配置需求如下:1、 操作系统:Windows 98、Windows2000、Windows XP或者Windows 7及更高版本。2、 内存:根据不同操作系统设定,最好在128M以上。3、 硬盘:最小需要300MB以上空间。4、 CD-ROM驱动器(用于联机信息)。2.4 Windows Socket编程知识2.4.1 Windows Socket的发展在Intel、Microsoft、

20、Sun、SDI、Informix、Novell等公司的大力支持下,Windows Socket(以下简称WinSock)从1991年的1.0版发展到1996年的2.2版。如今WinSock已经成为Windows网络编程的标准。2.4.2 Windows Sockets的分类WinSock编程分为同步(Sync)和异步(Async)。同步方式指的是发送方不等接收方响应,便接着发下一个数据包得通信方式。同步方式逻辑清晰,编程专注于应用,在抢先式的多任务操作系统中(Win NT、Win 2000),采用多线程方式效率基本达到异步方式的水平。而异步指发送方发出数据以后,等收到接收方发回的响应,才发出下

21、一个数据包的通信方式。阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网路调用上,比如调用recv()函数读取网路缓冲区中的数据,如果没有数据到达,将一直用recv()这个函数调用上,知道读到一些数据,此函数才返回;而非阻塞套接字是指此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中的数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。在实际Windows网络通信软件中,异步非阻塞套接字是用的最多的。平常所用的C/S结构软件用到的就是异步非阻塞模式的。2.4.3 Windows Sockets APIWindows提供

22、了一系列的API来支持Sockets,主要包括两类,一类是berkeley类型的函数,另一类是已经认可的作为Windows Sockets 2的一部分的Windows特殊的扩展函数。下面对一些常用的Windows Sockets API函数进行简单说明:1、socket():创建一个Socket。所有的通信在建立连接之前都要创建一个Socket,该函数的功能与文件操作中的fopen类似。2、bind():为创建的Socket指定通讯对象。成功建立Socket之后,就应该选定通信的对象。首先是自己的程序需要与网络上的哪台计算机通话;其次,在多任务的系统下,该台计算机可能会有几个程序在工作,必须指

23、出与那个程序通信。前者可以通过Intenet的网络IP地址来确定,而后者就需要指出端口号,用端口号来表示同一台计算机上不同的应用程序,可以从0-65536之间任选,不同功能的应用程序使用不同的端口号,这样一台计算机上可以有几个程序同时使用一个IP地址而互不干扰。3、listen():设置等待连接状态。对于服务器的程序,当申请到Socket,并制定通信对象为INADDR-ANY之后,就应该等待一个客户机的程序来要求连接。而listen()就是把一个Socket设置这种状态的函数。4、accept():接收请求连接。当没有连接请求时,对于阻塞方式,就进入等待状态,直至有一个请求到达为止。5、con

24、nect():主动提出请求连接。以上的bind()、listen()、和accept()函数一般都用于服务程序,属于被动等待的函数;对于客户端,要主动提出连接请求,应使用connect()函数。6、sent()/recv():发送、接受数据。7、connect():直接通信。8、closesocket(SOCKET s):通信结束,关闭指定的Socket。2.5 本章小结这一章所介绍的TCP/IP协议、编程的相关知识是下一章所展示的软件的编写基础,只有在这一章的理论指导下,软件的编写才能合乎实际,才能最终实现在局域网内传输文件。第3章 软件设计在第三章中展示了用局域网文件传输系统,并成功传输了

25、一个文件,这一章将对程序内部的细节予以介绍。该局域网文件传输系统使用VC+为编程语言,编程软件为Microsoft Visual C+,使用对话框为该软件的编程框架,其中用到了C+标准库函数和MFC类库,在并将其转化为自己所需要的功能函数。客户机和服务器的信息流如图4-1所示:图 3- 13.1局域网文件传输系统程序设计局域网文件传输系统的主要功能是建立与服务器的连接,向服务器发送数据,并且能够接收由服务器传送而来的数据。局域网文件传输系统如图3-2所示:图3- 23.2 局域网文件传输系统设计步骤(1)创建一个基于对话框的应用程序,在对话框中添加IP地址、Edit Box、Progress

26、Bar等控件,如图3-3所示:图3- 3(2)按组合键,打开“MFC classwizard”对话框,利用“MFC classwiard”对话框为对话框中的控件命名或关联数据。如图3-4所示:图3- 4(3)在对话框类的头文件中引用winsock2.h头文件,并导入ws2_32.lib库文件。#include”winsock2.h”#pragma comment(lib,” ws2_32.lib”)(4)在应用程序的InitInstance方法中初始化逃接字。WSADATA wsd;WSAStartup(MAKEWORD(2,2),&wsd);(5)在对话框的OnitDialog方法中创建套接

27、字。M_Client=socket(AF_INET,SOCK_STREAM,0);(6)在对话框类中添加成员函数CString m_FileName; /传送的文件名称BOOL m_IsReveived; /是否接收数据CString m_ReceiveFile; /接收的文件名称DWORD m_FileSize; /接收的文件大小DWORD m_FileLen ; /接收的文件长度CServerSocket* m_pServerSock; /接收文件套接字CServerSocket* m_ServerSock;CClientSocket* m_pSendSock; /发送文件套接字CFile

28、 m_File; /保存接收的文件BOOL m_Send; /是否开始发送数据BOOL m_SendNext; /是否继续发送数据DWORD m_SendNum; /记录当前发送的次数CFile m_SendFile; /发送的文件DWORD m_SendLen; /记录已经发送的文件长度DWORD m_SendFileLen; /发送文件的长度CString m_IP; /本机IPBOOL m_Received; /判断是否接收到对方的回应信息BOOL m_SendFinished;/发送是否完成int m_Count;(7)向对话框类中添加AcceptConnection方法,用于接受客户

29、端套接字的连接。Void LANFileTransfer:AcceptConnect()M_serverSock-Close();M_pServerSock-Accept(*m_ServerSock);(8)处理”设置成服务器”按钮的单击事件,创建服务器,并设置设置套接字接收数据时触发的消息。Void CLanFileTransfer: OnSetServer()Sockaddr_in serveraddr;UpdateData(TRUE);Serveraddr.sin_family=AF_INET;Serveraddr.sin_port=htons(m_port);Serveraddr.si

30、n_addr.S_un.S_addr=inet_addr(m_IP);If(connect(m_client,(Sockaddr*)&serveraddr,sinzeof()serveraddr)!=0)MeesageBox(“connectFail!”)Return;ElseMessageBox(“Connected!”);WSSAAsyncSelect(m_client,m_hWnd,1000,FD_READ);CString str,Info;m_path.GetWindowText(str);info.Format(“%s-%s”,str,”Its allowed to Transfe

31、r file In LanFile!”);int i=send(m_Client,Info.GetBuffer(0),info.GetLength(),0);(9)处理“发送”按钮的单击事件,向服务器发送数据。Void CLanFileTransfer: void CTransFileDlg:SendFileData()m_Send=TRUE;m_SendNext = TRUE;m_Received = TRUE;char data100;memset(data,0,100);m_SendNum +=1;m_pSendSock-Receive(data,100); /获得对方的应答信息CStr

32、ing rdata = data;if (m_SendLen=m_SendFileLen) /发送文件完成m_Send = FALSE;m_SendNext = FALSE;m_SendFile.Close();m_pSendSock-Close();m_pSendSock-Create(CLIENTPORT);MessageBox(发送完成);return;if (m_SendLen=0)&(rdata=取消)m_Send = FALSE;m_SendNext = FALSE;m_SendFile.Close();m_pSendSock-Close();m_pSendSock-Create(

33、CLIENTPORT);MessageBox(对方取消了文件接收);return;char* membuf= (char*)LocalAlloc(LMEM_FIXED,MAXSENDNUM);memset(membuf,0,MAXSENDNUM);int result;if(m_SendLenm_SendFileLen)m_SendFile.ReadHuge(membuf,m_SendFileLen-m_SendLen);result = m_pSendSock-Send(membuf, m_SendFileLen-m_SendLen);if (result =SOCKET_ERROR)m_S

34、end = FALSE;m_SendNext = FALSE;m_SendFile.Close();m_pSendSock-Close();m_pSendSock-Create(CLIENTPORT);LocalFree(membuf);KillTimer(1);MessageBox(发送失败);return ;m_SendLen =m_SendFileLen;elsem_SendFile.ReadHuge(membuf,MAXSENDNUM);result = m_pSendSock-Send(membuf, MAXSENDNUM);if (result =SOCKET_ERROR)m_Se

35、nd = FALSE;m_SendNext = FALSE;m_SendFile.Close();m_pSendSock-Close();m_pSendSock-Create(CLIENTPORT);LocalFree(membuf);KillTimer(1);MessageBox(发送失败);return;LocalFree(membuf);m_SendLen +=MAXSENDNUM;(10)向对话框中添加ReceiveData方法,用于接收从服务器传来的数据。Void LANFileTransfer:ReceiveData()void* buffer = (void*)LocalAllo

36、c(LMEM_FIXED,MAXSENDNUM+1);if (m_IsReveived) /第一次接收数据,获取接收的文件信息char* fileinfo = (char*)LocalAlloc(LMEM_FIXED,MAX_PATH+4);memset(fileinfo,0,MAX_PATH+4);int len = m_ServerSock-Receive(fileinfo,MAX_PATH+4);m_ReceiveFile.Format(%s,fileinfo); /记录接收的文件名char* temp = fileinfo;while (temp0 !=0)temp +=1;temp+

37、=1;m_FileSize= atoi(temp); /记录接收的文件大小LocalFree(fileinfo);m_FileLen = 0;CString name = GetFileName(m_ReceiveFile);if (MessageBox(是否接收数据?,提示,MB_YESNO)=IDYES)BROWSEINFO bInfo;bInfo.hwndOwner = m_hWnd;bInfo.pidlRoot = NULL;char filenameMAX_PATH;char dirMAX_PATH;memset(filename,0,MAX_PATH);memset(dir,0,M

38、AX_PATH);bInfo.pszDisplayName = filename;bInfo.lpszTitle =请选择目的路径;bInfo.ulFlags = BIF_BROWSEINCLUDEFILES|BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS|BIF_BROWSEFORCOMPUTER;bInfo.lParam =NULL;bInfo.lpfn =NULL;bInfo.iImage = 0;LPITEMIDLIST lpList = SHBrowseForFolder(&bInfo);CString filedir;if (SHGetPath

39、FromIDList(lpList,dir)m_File.Abort();filedir = dir;filedir += ;m_File.Open(filedir+name,CFile:modeCreate|CFile:modeWrite);m_IsReveived = FALSE; /文件信息接收结束m_ServerSock-Send(1111,4);LocalFree(buffer);return;else /拒绝接收文件m_File.Close();LocalFree(buffer);m_ServerSock-Send(取消,4);m_ServerSock-Close();m_IsRe

40、veived = TRUE;return;elseLocalFree(buffer);m_ServerSock-Send(取消,4);m_ServerSock-Close();m_IsReveived = TRUE;return;else /开始接收数据int filelen = m_ServerSock-Receive(buffer,MAXSENDNUM+1);if (filelen=SOCKET_ERROR)m_IsReveived = TRUE;m_File.Close();m_ServerSock-Close();LocalFree(buffer);MessageBox(数据接收错误)

41、;return;m_FileLen += filelen;m_File.WriteHuge(buffer,filelen);LocalFree(buffer);if (m_FileLen=m_FileSize) /接收完成m_File.Close();m_ServerSock-Send(结束,4);m_IsReveived = TRUE;m_ServerSock-Close();MessageBox(接收完成);elsem_ServerSock-Send(1111,4);3.3 设计客户端所用到的函数(1)FileOpen()打开文件对话框,用来获取文件路径,并将其路径显示文件路径编辑框中。文

42、件路径编辑框中。 (2)OnFileTransfer()通过设置好了的IP地址和端口号,该函数将实现文件从客户机到服务器文件的传输。 (3)InitAndConnet(HWND hwnd,UINT Port,CString strserver)这个函数用来创建套接字,通过界面上输入的IP地址连接服务器。(4)Connect()连接服务器函数。(5)CloseSocket关闭一个Socket。3.4 设计服务器所用到的函数(1)OnSetServer()这个函数用来创建服务器线程,并侦听局域网络中接发文件的请求。(2)Accept()用来接受客户机的连接请求。(3)Listen()这个函数用来将

43、Sokket设置成连接等待状态。(4)CloseSocket()关闭一个Socket。3.5 消息与消息函数#define SER_MESSAGE WM_USER +100#define SER_MESSAGE WM_USER +101Afx_msg LRESULT OnServerMessage(WPARAM wParam,LParam lParam)Afx_msg LRESULT OnClientMessage(WPARAM wParam,LParam lParam)afx_msg void OnSysCommand(UINT nID, LPARAM lParam);这个函数是系统命令响应

44、函数afx_msg void OnPaint();这个函数是系统界面构建函数afx_msg HCURSOR OnQueryDragIcon();这个函数是消息队列函数afx_msg void OnOpenFile();这个函数负责构建文件打开对话框,并使传输文件进入准备状态afx_msg void OnSetServer();这个函数用来创建服务线程,侦听网络中的消息afx_msg void OnFileTransfer();这个函数用来传输文件3.6 功能按钮与函数的对应关系ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_C

45、LICKED(IDC_BUTTON1, OnOpenFile)ON_BN_CLICKED(IDC_BUTTON2, OnSetServer)ON_BN_CLICKED(IDC_BUTTON3, OnFileTransfer)第4章 软件测试本论文所编写的局域网文件传输系统是在Microsoft Visual C+6.0下编写的一个基于对话框的程序,该程序简单实用,具体操作步骤和程序运行结果将在这一章给予展示。4.1 程序的安装与运行将LANFileTransfer.exe的安装文件复制到需要安装的PC机下安装。程序运行后会出现如图3-1所示界面:图4-14.2 在局域网内进行传输文件的软件测试

46、4.2.1 设置服务器点击设置服务器按钮,成功设置服务器会弹出设置服务器对话框提示“设置服务器成功!”,如果客户机上文件传输,这里将会弹出文件另存为对话框提示服务器主机保存文件,如图3-2所示:图4-24.2.2 设置客户机并传输文件1设置IP。在IP地址栏输入IP地址,如图3-3所示:图4-32、设置端口号。输入IP地址后,需要再输入端口号,如图3-4所示:图4-43、打开文件。点击“打开文件”按钮,弹出“打开文件对话框”,从中选择需要传输的文件,然后单击“打开”按钮,如图3-5所示:图4-5关闭打开文件对话框以后在“需要传输的文件路径”编辑框中会出现需要传输的文件的路径,如图3-6所示:图

47、4-64、传输文件。点击传输文件按钮,进度条中会显示文件传输的的进度,如图3-7所示:图4-7传输文件成功后会弹出“传输成功!”的提示对话框,然后在服务器电脑桌面上就可以看到传输的文件,如图3-8所示:图4-84.3 本章小结通过测试,程序成功的在局域网内的两台电脑上实现了名为FileTransfer.txt文件的传输,这说明局域网文件传输系统能够实现并能投入实际应用。第5章 结论本论文讨论了局域网文件传输系统的设计工作,包括所有涉及到的理论知识和实用技术方法。对于局域网文件传输系统,本论文的主要工作如下:研究了设计局域网文件传输系统的基本方法。通过Microsoft Viasual C+ 6.0软件实用MFC类库进行局域网文件传输系统的实际开发工作。总之,通过VC使用Windows Sockets进行局域网文件传输系统的设计,设计出来的系统可视话强,文件传输速度高,在家庭局域网中能很好的使用,今后可将该系统经过该良后运用到公司企业级的局域网中,实现局域网文件传输系统在企业中的广泛应用。参考文献【1】 明日科技.MFC编程大全.中国邮电出版社,2010.【2】 明日科技.Visual C+ 编程百例.中国邮电出版社,2010.【3】 李建华 王占全.Visual C+ 编程从基础到实践.电子工业出版社,2007.TP312.31 / 31

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!