基于VB编程实现网络文件数据传递的实现

2014-09-17 02:08:08叶纪听
电脑知识与技术 2014年22期
关键词:传递

叶纪听

摘要:跟着Internet的遍及和工业自动化的迅速发展,网络已深化家庭、单位、工厂、自动化操控领域。大家在各个地方都可经过互联网来交流信息,因而网络数据传输就显得尤为的重要。在VB中就供给了撑持数据传输的控件,如:Winsock控件和MSComm控件等。经过程序开发和控件的运用, 可完成网络的数据通信,满意网络用户对数据通信和数据交流的需要。

关键词:vb编程;文件;网络数据;传递

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)22-5235-05

1 VB网络文件数据传输及通信概述

1.1 数据通讯方法按传输方向

分有:

1) 单工通讯:在单工信道上信息只能在一个方向传送。

2) 半双工通讯:在半双工信道上,通讯的双方可替换发送和接纳信息。

3) 全双工通讯:一种能够一起进行双向信息传送的通讯方法。

1.2交流方法

1) 线路交流:交流的特色是树立衔接需求等候较长的时刻。

特色:衔接树立后通路是专用的。不再有传输推迟,这种交流方法适合于传输大量的数据。在传输少量信息时功率不高。

2) 报文交流:

特色:不树立专用链路。线路利用率较高。电子邮件系统(例如E-Mail)适合选用报文交流方法。

虚电路能够是暂时的,即会话开端树立,会话完毕撤除,这叫虚呼叫;也能够是持久的,即通讯双方一开机就自动树立,直到一方(或一起)关机才撤除。这叫持久虚电路。 分组交流的特色:数据包有固定的长度。选用固定的、短的分组相对于报文交流是一个重要的长处。除了交流结点的存储缓冲区能够不些外,也带来了传播时延的削减,分组交流也意味着按分组纠错:发现过错只需重发犯错的分组,使通讯功率提高。

2 VB网络文件数据传递性能需求

2.1 稳定性

在程序规划中应当考虑到各种可能发作的状况,进而避免惯例或许一些低级过错。一旦发作任何过错或突发事件,体系要可以正常运转甚至及时纠错,不至于瘫痪而使得软件无法运转下去。那么在规划关于一些不惯例的输入和操作均作了相应的约束,从某种程度上提升了软件的稳定性。

2.2 易用性

本程序仅仅是一个雏形,简单上手,操作简单,运用进程一望而知。有关指令标志处置和暂时处置均运用文件,操作起来对比简洁。

3 VB网络文件数据通信协议

在开始编程之前首先应当对客户端和服务器之间的通信协议进行定义,以便双方在通信过程中可以方便的识别彼此的通信指令和标志。

1) 服务器端通信协议定义如表1所示:

2) 客户端通信协议定义如下:

3 VB网络文件数据动态添加客户端

单个客户端与服务器经过winsock控件完成通讯今后,有必要联系实际情况完成多个客户端与服务器之间的数据通讯,这就涉及到服务器需求有动态增加客户端的才能,与恳求衔接的客户端树立彼此间衔接。

在规划中我选用winsock数组来完成服务器端的动态增加功用,winsock(0)规划为服务器端一向坚持监听客户端衔接恳求的控件,假如监听到有客户端的衔接恳求,首要查找数组中是否存在闲暇的winsock(x),假如存在,则运用该winsock(x)与之树立衔接,反之加载一个新的winsock数组控件与之树立衔接。一旦与客户端树立衔接成功后,服务器将把该winsock的数组下标发送给该客户端,如服务器端是运用winsock(2)与客户端树立衔接,则将索引2发送给客户端,此时该客户端就作为“2号客户端”,一起在服务器端的listbox客户端状况列表中作为2号客户端显现。

4 VB网络文件数据传输模块

文件传输的完成首要是在客户端处置,客户端接纳到服务器端的文件传输的指令后,采纳相应的处置。文件传输首要分两种状况来处置:

4.1 单个文件传输

理论上单个文件传输相关于整个文件夹的传输要简略的多,服务器端发送指令:Winsock1(ClientIndex).SendData "Opt_pa" & Label2.Caption,其间"Opt_pa"为单个文件传输的象征,Label2.Caption为该文件在客户端的绝对途径。客户端别离信息后,依据文件途径获得该文件的长度,先向服务器端发送该文件的长度Winsock1.SendData "Fl_Len" & LenFile1,意图是为了在文件传输过程中能够判别该文件是不是传输结束。

服务器端回送一个"Ins_Tr"的确认象征后,客户端开端对该文件进行传输。对文件的传输的详细完成,需要思考几种状况,关于小型文件能够直接使用WINSOCK传输,可是关于大型文件或视频文件的传输必须选用分割技能来完成,根据以上的思考,不管是大型文件仍是小型的文件的传输首要判别其长度是不是大于65535,假如小于则直接传输,不然对该文件进行分块传输(以8K为一个传输块),数据块传输结束后,还必须思考所剩下的数据,假如存在剩下的数据也要进行传输。

4.2 整个文件夹的传输

依照常理来说,关于文件夹的传输本来即是对文件的循环传输,原理是:依据服务器端给定的文件夹途径Winsock1(ClientIndex).SendData "Opt~pa" & Label2.Caption,其间"Opt~pa"为文件夹传输象征,Label2.Caption为文件夹的绝对途径,客户端别离途径后首要查找该文件夹下的一切子文件夹和文件的称号,保存在文件中传输到服务器端,在服务器端树立该文件夹及其包括的一切子目录和文件称号,然后客户端循环传输文件。

上述中理论上能够完成整个文件夹的传输,可是显着完成起来比较杂乱,比方该文件夹下所嵌套的子文件夹比较深,所包括的文件也比较多,那么在传输过程中所要思考的疑问也就十分的杂乱,要思考同级目录中的文件传输和下级文件的传输。通过屡次实验后,找到一种替代方法,同样能够是完成整个文件夹的传输,但在原理上有差异于上面的传输途径:首要是使用微软rar.exe和unrar.exe能够简略的完成文件夹的传输。起原理是客户端别离文件夹途径后,调用rar.exe对该文件夹进行紧缩处置,这样一来不管文件夹下嵌套有多深,包括了多少个文件,一并作打包处置,然后传输给服务器端;服务器端彻底接纳该紧缩文件到指定途径下,对该紧缩文件进行解紧缩处置,以此来完成对整个文件夹的传输。

4.3 主要功能实现代码分析

1) 服务器端动态添加客户端实现代码:

整体上现已完成所需要的功用需要,当然在某些方面依然需要进一步完善,比方客户端因不确定要素封闭或许网络断开,那么服务器端采取怎样的措施来应对;文件传输进程中所显示的进度条如何能够准确的反应当时文件实践所传输的状况等等,因为时间的问题,这些不足之处都是值得进一步研讨的当地,在尔后将逐步完善这些功用。

参考文献:

[1] 范逸之,陈立元.Visual Basic 与RS-232串行通讯操控[M].北京:清华大学出版社,1994:38-57.

[2] 崔彦锋,许小荣.VB网络与远程控制编程实例教程[M].北京:北京希望电子出版社,1996:34-65.

[3] 卞志强.Visual Basic网络程序设计[M].北京:人民邮电出版社,1993:48-93.

猜你喜欢
传递
语文课堂语言在教学中的有效运用
建构主义理论指导下的大学英语翻转课堂教学实践探究
高中政治教学中“传递—接受教学模式”的应用
未来英才(2016年11期)2017-02-17 15:14:27
初中生物教学凸显和传递重要概念的实践
小议如何有效提升绘画类文献的传递效率
中文信息(2016年10期)2016-12-12 14:51:16
商务英语翻译中文化意象的传递
基于(火用)分析法的换热器性能研究
企业导报(2016年10期)2016-06-04 12:02:26
人教版初中生物学教科书中重要概念的传递及教学建议
高中历史人物教学与健全人格教育的实践探索
大学生班级德育信息传递的信道浅析