转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
用Internet Transfer编写FTP程         ★★★★

用Internet Transfer编写FTP程

作者:闵涛 文章来源:闵涛的学习笔记 点击数:562 更新时间:2009/4/23 14:58:26
所谓文件传输协议就是人们规定的在网络间传输文件的一组规定,里面规定了数据包的格式、数据包头部结构、命令结构等等。其实要想实现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,将返回当前的整个工作目录。使用 Ge unk 方法返回目录数据。
  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服务器的地址簿等,这里不做更深一步讨论。 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台