Foxtable(狐表)用户栏目专家坐堂 → ftp连接的问题


  共有3883人关注过本帖树形打印复制链接

主题:ftp连接的问题

帅哥哟,离线,有人找我吗?
scott518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
ftp连接的问题  发帖心情 Post By:2014/4/8 14:07:00 [只看该作者]

下面代码执行时正常。但换成红色的反而不正确了,为什么?谢谢!
Dim ftp As New FTPClient
ftp.Host = "abc.cn"
ftp.Account = "abc"
ftp.Password = "abc123"

If ftp.Connect Then 
Else '如果FTP没有连接,用备用域名连接
    ftp.Host = "abc.net"
    ftp.Account = "abc"
    ftp.Password = "abc123"
    If ftp.Connect Then 
    Else  '仍然连接不上FTP提示并中止
        MessageBox.Show("FTP服务器连接失败!")
        Return
    End If
End If

为会换用下面代码后就总提示“FTP服务器连接失败!” 实际上ftp服务器一直都是可以正常连接的。

If ftp.Connected = False Then '如果FTP没有连接,用备用域名连接
    ftp.Host = "abc.net"
    ftp.Account = "abc"
    ftp.Password = "abc123"
    If ftp.Connected = False Then '仍然连接不上FTP提示并中止
        MessageBox.Show("FTP服务器连接失败!")
        Return
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/8 14:12:00 [只看该作者]

上下两段代码结果都是一致的.

 回到顶部
帅哥哟,离线,有人找我吗?
scott518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/4/8 20:11:00 [只看该作者]

我就是觉得不解啊,用上面那段可以。换了下面那段就一直提示“Ftp服务器连接失败”;不会再执行后面的代码下载文件了。 实际上ftp服务器一直都是正常连接上的,问题出在哪里了?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/8 20:42:00 [只看该作者]

以下是引用scott518在2014-4-8 20:11:00的发言:
我就是觉得不解啊,用上面那段可以。换了下面那段就一直提示“Ftp服务器连接失败”;不会再执行后面的代码下载文件了。 实际上ftp服务器一直都是正常连接上的,问题出在哪里了?

 

注意 Connect 和 Connected 是不一样的。

 

前者是去连接一次ftp,而后者只是检测现在是否连接了ftp

 

http://www.foxtable.com/help/topics/1410.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
scott518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/4/8 21:26:00 [只看该作者]

请教有点甜老师,后者只是检测现在是否连接了ftp?这句话的意思闹不明白,帮助不是说ftp都是自动连接的吗?
Dim ftp As New FTPClient
ftp.Host = "abc.cn"
ftp.Account = "abc"
ftp.Password = "abc123"
If ftp.Connected = False Then '如果FTP没有连接,用备用域名连接
    msgbox(111)
End If
因为上面的ftp服务器是外网IP的,基本上随时都可以连接上的。按理执行上面的代码不应该显示出“111”来,但却会显示,
If ftp.Connected = False Then 是不是指用户没有去连接,而不管ftp服务器通不通?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/8 21:34:00 [只看该作者]

ftp.Connected 只是检测是否建立了连接,通俗一点说,就是,它不做任何操作,它只告诉你ftp是否现在是否可用

 

 

ftp.Connect 是尝试去连接ftp服务器,并返回连接结果

 

 

[此贴子已经被作者于2014-4-8 21:36:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
scott518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/4/8 21:55:00 [只看该作者]

谢谢,明白了。

[此贴子已经被作者于2014-4-8 22:49:02编辑过]

 回到顶部