摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>VB>VB网络文章
◎→ 本类最新
MODEM通讯意外处理
CWinInetConnection---一个封装了
基于Win95的VB5串口通信程序
基 于Win95 的VB5 串 口 通 信 程
获得用户网络登录名
发送电子邮件附件
发送电子邮件附件
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
VB基础视频教程
VB窗体文章
VB文件文章
VB数据库文章
VB-API文章
VB控制文章
◎→ 热门资源
用VB创建通信程序
用Sockets发送电子邮件
MX AS对象篇
用Visual Basic 5.0设计E-mail程
用VB制作浏览器
用VB写一个定时PING某IP的程序
用VB实现聊天讨论室和点对点会话

用Internet Transfer编写FTP程序


日期:2008-10-20 17:55:36    来源:互联网
   
 ·用VB构建Internet的应用 ·用VB编写网络寻呼
 ·用Visual Basic轻松地设计Browser及Ftp程序
用Internet Transfer编写FTP程序



  常上网的人都对FTP熟悉得不能再熟悉了,它是文件传输协议的英文缩写,所谓文件传输协议就是人们规定的在网络间传输文件的一组规定,里面规定了数据包的格式、数据包头部结构、命令结构等等其实要想实现FTP的功能并不是很难,下面我们就来介绍一下如何作一个简单的Windows界面的FTP程序。
  其实我们常用的VC和VB等开发工具就可以轻松搞定,下面我们就来说说在VB中使用Microsoft Internet Transfer 控件实现FTP的功能。 
  Internet Transfer控件,支持HTTP(超文本传输协议)和FTP(文件传输协议),超文本传输协议就是我们的浏览器传输网页时使用的协议,也就是说你也可以用它作一个浏览器。我们这里主要讨论文件传输协议FTP。
  首先创建一个新工程,在你的工具箱上添加Microsoft Internet Transfer 控件,并放到你的主窗体上,注意看它的属性:
  Protocol指所用的协议,我们这里选2-icFTP,就是FTP协议。
  UserName和Password是这样的:UserName和Password都给null或""时,发送到FTP Server的UserName是"anonymous",Password是用户的Email,当UserName给null或"",而Password为非空字符串时是错误的,其他情况正常。
  RemoteHost写FTP Server(就是你要连到的那台主机,你可以在程序中动态地给这个属性赋值,以适应连接到不同的主机上)的域名地
  址或IP,RemotePort在你指定FTP协议时自动被设置成21,URL属性由RemoteHost、RemotePort、Protocol等几个属性内容组合而成,如果前面已经给出这些值,VB会自动生成URL,以上这些属性均可以在程序中动态赋值,使你可以更灵活地运用这个控件。
  下面说说这个控件的方法(Method):
  1、OpenURL,调用该方法会连通FTP Server属性中指定的主机,并返回它的Welcom Message,一般是一些欢迎词和当前有多少用户登录等信息。
  2、Execute方法用于执行对远程服务器的请求,它能发送对特定协议有效的请求,对于FTP协议来说,有效的操作有: 
  CD file1 
  改变目录。改变到 file1 中指定的目录。 
  CDUP 
  改变到父目录。等效于“CD...” 
  CLOSE 
  关闭当前的 FTP 连接。 
  DELETE file1 
  删除 file1 中指定的文件。 
  DIR, LS file1 
  搜索 file1 中指定的目录(允许用通配符,但要使用远程主机的语法)。如果没有指定 file1,将返回当前的整个工作目录。使用 GetChunk 方法返回目录数据。 
  GET, RECV file1 file2 
  检索 file1 中指定的远程文件,并创建 file2 中指定的新本地文件。 
  MKDIR file1 
  创建目录。创建 file1 中指定的目录。创建是否成功取决于用户在远程主机上的权限。
  PUT, SEND file1 file2 
  复制 file1 指定的本地文件到 file2 指定的远程主机上。 
  PWD 
  打印工作目录。返回当前目录名。使用 GetChunk 方法返回数据。 
  QUIT 
  终止当前用户。 
  RENAME file1 file2 
  将 file1 中命名的远程文件重命名为 file2 中指定的新名称。成功与否取决于用户在远程主机上的权限。
  RMDIR file1 
  删除目录。删除 file1 中指定的远程目录。成功与否取决于用户在远程主机上的权限。
  SIZE file1
  返回 file1 指定的目录的大小。 
  举个例子: 
  Inet1.Execute "","dir" 
  debug.print Inet1.GetChunk 这一句将打印出上一句dir的结果。
  Inet1.Execute "","Get file1 C:\File1" 这个命令会把对方c:\File1的文件取到本机当前目录下(这里假设对方是windows base 的机器,并且有c:\File1的文件)。
  下面说说该控件唯一的事件StateChanged。
  当这个FTP连接中状态发生了改变,如登录成功、命令接收成功、断线等等都会引发该事件。该事件的处理函数有一个参数state,表明当前连接状态,它的值定义如下: 
  值 标识符 意义
   0 icNone 无状态可报告。 
   1 icHostResolvingHost 该控件正在查询所指定的主机的 IP 地址。 
   2 icHostResolved 该控件已成功地找到所指定的主机的 IP 地址。
   3 icConnecting 该控件正在与主机连接。 
   4 icConnected 该控件已与主机连接成功。 
   5 icRequesting 该控件正在向主机发送请求。 
   6 icRequestSent 该控件发送请求已成功。 
   7 icReceivingResponse 该控件正在接收主机的响应。
   8 icResponseReceived 该控件已成功地接收到主机的响应。
   9 icDisconnecting 该控件正在解除与主机的连接。 
  10 icDisconnected 该控件已成功地与主机解除了连接。
  11 icError 与主机通讯时出现了错误。 
  12 icResponseCompleted 该请求已经完成,并且所有数据均已接收到。 
  用Select case 语句处理各个状态就行了。 
  怎么样,是不是很简单呀,一个简单的FTP你只须建立连接,从用户读取命令,用Execute方法将命令传送到对方主机就可以了,剩下的活都有Inet控件帮你搞定,但是要作得好用,还要处理各种网络错误,用递归处理子目录上载或下载,为用户建立FTP服务器的地址簿等,这里不做更深一步讨论。

 [1]

在程序中打开 Internet 拨号连接窗口 在程序中打开 Internet 拨号连接窗口

用Visual Basic6.0编写客户服务器程序

用Visual Basic创建FTP组件

--->Internet Download Manager V5.09 Build3┊提升下载速度┊完美汉化绿色特别版
--->Internet Download Manager V5.03 破解补丁
--->Internet Download Accelerator V5.0.2.1001
--->电雷下载客户端 V1.3┊BT/Emule/Http/FTP等多种下载方式┊免安装版
--->ReGet Deluxe V5.1 Build 296Beta┊可支持HTTP与FTP续传┊多国语言绿色特别版
Tags:  Internet 编写 FTP

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们