a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 網絡與存儲 > 設計應用 > 基于VB多線程技術的FTP的實現

基于VB多線程技術的FTP的實現

作者:苗專生 時間:2008-11-20 來源:現代電子技術 收藏

1 引言

本文引用地址:http://www.j9360.com/article/89660.htm

  Internet的發展非常迅猛,面對Internet這個無窮寶庫,人們會經常下載所需要的各種各樣的信息,這就要用到文件傳輸協議(File Transfer Protocol)。是因特網上較早出現的服務功能之一,迄今其仍是Internet上最常用也是最重要的服務功能。面對頻繁的文件下載和相對擁擠的網絡通路,如何快速、高效、方便地利用獲取所需要的信息顯得越來越重要。為使系統具有更好的交互性,可以使用近年來出現的多線程機制提高系統的性能。

  線程是比進程更小的能完成一個任務的執行流。多線程是指在應用程序中有多個并發的線程在同時運行,這可以加快程序的響應時間,提高計算機資源的使用效率。多線程技術在圖形用戶界面和網絡程序設計中非常有用。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 文件傳輸的實現

  文件傳輸的實現程序如下所示:

 

  程序運行如圖1所示。

3 VB的多線程實現機制

3.1 創建線程并初始化

  VB通過調用Windows的API函數CreateThread實現多線程,該函數的聲明如下:

 

  他返回線程的句柄。為了對線程初始化和管理,需要創建一個類myclass,用myclass的下述函數初始化線程。

 
 

3.2 激活線程并管理

  用以下2個API函數均可激活線程。

 

  用類myclass的一個屬性來管理線程的狀態。

 

3.3 編寫處理新線程函數的代碼

  在函數newFunc中,用forml.show執行前面的實現FTP的程序代碼。運行時每當創建一個新線程成功,會彈出一個信息窗口,表明當前的線程號,如圖2所示。

 

4 結 語

  網絡技術的發展日新月異,在“時間就是金錢、效率就是生命”的信息時代,如何通過Internet快速、高效、安全、方便地獲取所需要的信息已成為一個非常重要的技術手段。多線程技術可以使程序反應更快、交互性更強。用VB實現多線程比用VC++和Java均簡單得多,而且運行速度毫不遜色,只是目標代碼稍大一點(約5%)。文中用Addressof操作符配合Windows API函數實現多線程,并成功運用于FTP遠程文件傳輸。實驗表明,該方法安全可靠,簡單易行,速度快、開銷低,每一個線程大約僅占CPU 20 ms的時間片。隨著互連網的普及和網上信息的爆炸式增加,基于VB多線程技術的FTP必然會得到更廣泛地應用。

 



關鍵詞: FTP

評論


相關推薦

技術專區

關閉