《基于VB编程实现网络文件数据传递的实现.docx》由会员分享,可在线阅读,更多相关《基于VB编程实现网络文件数据传递的实现.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于VB编程实现网络文件数据传递的实现 摘要:跟着Internet的遍及和工业自动化的快速发展,网络已深化家庭、单位、工厂、自动化操控领域。大家在各个地方都可经过互联网来沟通信息,因而网络数据传输就显得尤为的重要。在VB中就供应了撑持数据传输的控件,如:Winsock控件和MSComm控件等。经过程序开发和控件的运用, 可完成网络的数据通信,满足网络用户对数据通信和数据沟通的须要。 关键词:vb编程;文件;网络数据;传递 中图分类号:TP311 文献标识码:A 文章编号:1019-304422-5235-05 1 VB网络文件数据传输及通信概述 1.1 数据通讯方法按传输方向 分有: 1) 单
2、工通讯:在单工信道上信息只能在一个方向传送。 2) 半双工通讯:在半双工信道上,通讯的双方可替换发送和接纳信息。 3) 全双工通讯:一种能够一起进行双向信息传送的通讯方法。 1.2沟通方法 1) 线路沟通:沟通的特色是树立连接需求等候较长的时刻。 特色:连接树立后通路是专用的。不再有传输推迟,这种沟通方法适合于传输大量的数据。在传输少量信息时功率不高。 2) 报文沟通: 特色:不树立专用链路。线路利用率较高。电子邮件系统适合选用报文沟通方法。 虚电路能够是短暂的,即会话开端树立,会话完毕撤除,这叫虚呼叫;也能够是长久的,即通讯双方一开机就自动树立,直到一方关机才撤除。这叫长久虚电路。 分组沟通
3、的特色:数据包有固定的长度。选用固定的、短的分组相对于报文沟通是一个重要的特长。除了沟通结点的存储缓冲区能够不些外,也带来了传播时延的削减,分组沟通也意味着按分组纠错:发觉过错只需重发犯错的分组,使通讯功率提高。 2 VB网络文件数据传递性能需求 2.1 稳定性 在程序规划中应当考虑到各种可能发作的状况,进而避开惯例或许一些低级过错。一旦发作任何过错或突发事务,体系要可以正常运转甚至刚好纠错,不至于瘫痪而使得软件无法运转下去。那么在规划关于一些不惯例的输入和操作均作了相应的约束,从某种程度上提升了软件的稳定性。 2.2 易用性 本程序仅仅是一个雏形,简洁上手,操作简洁,运用进程一望而知。有关指
4、令标记处置和短暂处置均运用文件,操作起来对比简洁。 3 VB网络文件数据通信协议 在起先编程之前首先应当对客户端和服务器之间的通信协议进行定义,以便双方在通信过程中可以便利的识别彼此的通信指令和标记。 1) 服务器端通信协议定义如表1所示: 2) 客户端通信协议定义如下: 3 VB网络文件数据动态添加客户端 单个客户端与服务器经过winsock控件完成通讯今后,有必要联系实际状况完成多个客户端与服务器之间的数据通讯,这就涉及到服务器需求有动态增加客户端的才能,与请求连接的客户端树立彼此间连接。 在规划中我选用winsock数组来完成服务器端的动态增加功用,winsock规划为服务器端一向坚持监
5、听客户端连接请求的控件,假如监听到有客户端的连接请求,首要查找数组中是否存在闲暇的winsock,假如存在,则运用该winsock与之树立连接,反之加载一个新的winsock数组控件与之树立连接。一旦与客户端树立连接胜利后,服务器将把该winsock的数组下标发送给该客户端,如服务器端是运用winsock与客户端树立连接,则将索引2发送给客户端,此时该客户端就作为“2号客户端”,一起在服务器端的listbox客户端状况列表中作为2号客户端显现。 4 VB网络文件数据传输模块 文件传输的完成首要是在客户端处置,客户端接纳到服务器端的文件传输的指令后,接受相应的处置。文件传输首要分两种状况来处置:
6、 4.1 单个文件传输 理论上单个文件传输相关于整个文件夹的传输要简略的多,服务器端发送指令:Winsock1.SendData Opt_pa & Label2.Caption,其间Opt_pa为单个文件传输的象征,Label2.Caption为该文件在客户端的肯定途径。客户端别离信息后,依据文件途径获得该文件的长度,先向服务器端发送该文件的长度Winsock1.SendData Fl_Len & LenFile1,意图是为了在文件传输过程中能够判别该文件是不是传输结束。 服务器端回送一个Ins_Tr的确认象征后,客户端开端对该文件进行传输。对文件的传输的具体完成,须要思索几种状况,关于小型文
7、件能够干脆运用WINSOCK传输,可是关于大型文件或视频文件的传输必需选用分割技能来完成,依据以上的思索,不管是大型文件仍是小型的文件的传输首要判别其长度是不是大于65535,假如小于则干脆传输,不然对该文件进行分块传输,数据块传输结束后,还必需思索所剩下的数据,假如存在剩下的数据也要进行传输。 4.2 整个文件夹的传输 依照常理来说,关于文件夹的传输原来即是对文件的循环传输,原理是:依据服务器端给定的文件夹途径Winsock1.SendData Optpa & Label2.Caption,其间Optpa为文件夹传输象征,Label2.Caption为文件夹的肯定途径,客户端别离途径后首要查
8、找该文件夹下的一切子文件夹和文件的称号,保存在文件中传输到服务器端,在服务器端树立该文件夹及其包括的一切子书目和文件称号,然后客户端循环传输文件。 上述中理论上能够完成整个文件夹的传输,可是显着完成起来比较杂乱,比方该文件夹下所嵌套的子文件夹比较深,所包括的文件也比较多,那么在传输过程中所要思索的疑问也就非常的杂乱,要思索同级书目中的文件传输和下级文件的传输。通过屡次试验后,找到一种替代方法,同样能够是完成整个文件夹的传输,但在原理上有差异于上面的传输途径:首要是运用微软rar.exe和uar.exe能够简略的完成文件夹的传输。起原理是客户端别离文件夹途径后,调用rar.exe对该文件夹进行紧
9、缩处置,这样一来不管文件夹下嵌套有多深,包括了多少个文件,一并作打包处置,然后传输给服务器端;服务器端彻底接纳该紧缩文件到指定途径下,对该紧缩文件进行解紧缩处置,以此来完成对整个文件夹的传输。 4.3 主要功能实现代码分析 1) 服务器端动态添加客户端实现代码: 整体上现已完成所须要的功用须要,当然在某些方面依旧须要进一步完善,比方客户端因不确定要素封闭或许网络断开,那么服务器端实行怎样的措施来应对;文件传输进程中所显示的进度条如何能够精确的反应当时文件实践所传输的状况等等,因为时间的问题,这些不足之处都是值得进一步研讨的当地,在尔后将逐步完善这些功用。 参考文献: 1 范逸之,陈立元.Visual Basic 与RS-232串行通讯操控M.北京:清华高校出版社,11014:38-57. 2 崔彦锋,许小荣.VB网络与远程限制编程实例教程M.北京:北京希望电子出版社,11016:34-65. 3 卞志强.Visual Basic网络程序设计M.北京:人民邮电出版社,11013:48-93. 第6页 共6页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页第 6 页 共 6 页