以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- ftp连接的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48890) |
-- 作者:scott518 -- 发布时间:2014/4/8 14:07:00 -- ftp连接的问题 下面代码执行时正常。但换成红色的反而不正确了,为什么?谢谢! 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 -- 发布时间:2014/4/8 14:12:00 -- 上下两段代码结果都是一致的. |
-- 作者:scott518 -- 发布时间:2014/4/8 20:11:00 -- 我就是觉得不解啊,用上面那段可以。换了下面那段就一直提示“Ftp服务器连接失败”;不会再执行后面的代码下载文件了。 实际上ftp服务器一直都是正常连接上的,问题出在哪里了?
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间: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服务器通不通? |
-- 作者:有点甜 -- 发布时间:2014/4/8 21:34:00 -- ftp.Connected 只是检测是否建立了连接,通俗一点说,就是,它不做任何操作,它只告诉你ftp是否现在是否可用
ftp.Connect 是尝试去连接ftp服务器,并返回连接结果
[此贴子已经被作者于2014-4-8 21:36:21编辑过]
|
-- 作者:scott518 -- 发布时间:2014/4/8 21:55:00 -- 谢谢,明白了。 [此贴子已经被作者于2014-4-8 22:49:02编辑过]
|