网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 嵌入系统 > 正文
  • RSS
  • 基于VB多线程技术的FTP的实现
    http://www.ic72.com 发布时间:2008/12/9 9:38:00

          1 引言

        Internet的发展非常迅猛,面对Internet这个无穷宝库,人们会经常下载所需要的各种各样的信息,这就要用到文件传输协议FTP(File Transfer Protocol)。FTP是因特网上较早出现的服务功能之一,迄今其仍是Internet上最常用也是最重要的服务功能。面对频繁的文件下载和相对拥挤的网络通路,如何快速、高效、方便地利用FTP获取所需要的信息显得越来越重要。为使系统具有更好的交互性,可以使用近年来出现的多线程机制提高系统的性能。

        线程是比进程更小的能完成一个任务的执行流。多线程是指在应用程序中有多个并发的线程在同时运行,这可以加快程序的响应时间,提高计算机资源的使用效率。多线程技术在图形用户界面和网络程序设计中非常有用。VC++支持多线程技术,但VC++程序目前尚不能嵌入流行的ASP网页代码中;Java的多线程技术颇佳,也可以很方便地将其Applet嵌入网络的页面中,但Java毕竟是一门类似于C++的语言,对大多数人来说,熟练掌握并非易事,远没有VB使用起来简单、方便,而且VB的速度同样也很快。VB 6.0在Internet网络编程方面提供了强大功能,本文利用VB 6.0的Addressof操作符配合Windows API函数实现多线程技术,并将其用于Internet上的FTP。

        2 VB的FTP实现机制

        VB的Internet Transfer控件实际上是一个Activex控件,他支持HTTP和FTP协议。前者用于浏览WWW的HTML页面,后者用于连接FTP服务器进行文件传输。新建一个工程,在窗体上放置Internet Transfer控件itl,另外放置2个文本框ta和tc,分别用来输入FTP站点地址和列出该站点指定目录下的可供下载的文件。

        2.1 itl的主要属性和方法

        itl.AccessType是与Internet的连接方式。可以设置为1,2,0,分别表示通过电话线、局域网和缺省(按照注册表中的设置)方式与Internet连接;itl.URL是FTP站点的地址;itl.RequestTimeout为连接的时间限制。

        OpenURL方法用于同步连接指定的URL并返回该URL中的内容;Execute方法异步执行对远程服务器的请求命令,此方法会触发StateChanged事件;Cancel方法用于强行关闭当前的连接。

        2.2 文件传输的实现

        文件传输的实现程序如下所示:

    ic72新闻中心

        程序运行如图1所示。

        3 VB的多线程实现机制

        3.1 创建线程并初始化

        VB通过调用Windows的API函数CreateThread实现多线程,该函数的声明如下:

    ic72新闻中心

        他返回线程的句柄。为了对线程初始化和管理,需要创建一个类myclass,用myclass的下述函数初始化线程。

        3.2 激活线程并管理

        用以下2个API函数均可激活线程。

    ic72新闻中心

    ic72新闻中心

        用类myclass的一个属性来管理线程的状态。

    ic72新闻中心

        3.3 编写处理新线程函数的代码

    ic72新闻中心

        在函数newFunc中,用forml.show执行前面的实现FTP的程序代码。运行时每当创建一个新线程成功,会弹出一个信息窗口,表明当前的线程号,如图2所示。

    ic72新闻中心

        4 结 语

        网络技术的发展日新月异,在“时间就是金钱、效率就是生命”的信息时代,如何通过Internet快速、高效、安全、方便地获取所需要的信息已成为一个非常重要的技术手段。多线程技术可以使程序反应更快、交互性更强。用VB实现多线程比用VC++和Java均简单得多,而且运行速度毫不逊色,只是目标代码稍大一点(约5%)。文中用Addressof操作符配合Windows API函数实现多线程,并成功运用于FTP远程文件传输。实验表明,该方法安全可靠,简单易行,速度快、开销低,每一个线程大约仅占CPU 20 ms的时间片。随着互连网的普及和网上信息的爆炸式增加,基于VB多线程技术的FTP必然会得到更广泛地应用。


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质