以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于FTP升级的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188814) |
|
-- 作者:2900819580 -- 发布时间:2023/10/20 15:38:00 -- [求助]关于FTP升级的问题 老师,使用FTP设置升级,设置了判断,如果连接不成功,会等好久,才弹出Message的错误提示,有没有什么办法,可以快速提醒FTP连接不成功吗?。 Dim fstr As String = "ftp://UpdateUse:23456@192.168.0.106" If Fstr.StartsWith("ftp://") Then fstr = fstr.Replace("ftp://", "") FileSys.WriteAllText(ProjectPath & "Errlog.txt", vbcrlf & Date.Now & ">>" & fstr , True) Dim Fs1() As String = fstr.Split("@") Dim Fs2() As String = Fs1(0).Split(":") Dim ftp1 As New FtpClient ftp1.Host = fs1(1) ftp1.Account = fs2(0) ftp1.Password = fs2(1) If ftp1.Connected = False Then\'如果FTP没有连接 If ftp1.Connect = False Then \'连接FTP Messagebox.show("连接FTP失败导致升级失败,请检查FTP设置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) err = 1 End If End If End If \'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If err = 0 Then UpdatePath = s If Syscmd.Project.Update(False, False) = False Then end if |
|
-- 作者:有点蓝 -- 发布时间:2023/10/20 15:46:00 -- http://www.foxtable.com/webhelp/topics/1410.htm ftp1.TimeOut = 1000
|
|
-- 作者:2900819580 -- 发布时间:2023/10/20 15:58:00 -- Dim ftp1 As New FtpClient
ftp1.Host = fs1(1) ftp1.Account = fs2(0) ftp1.Password = fs2(1) 老师,也是一样不行,要等好久才弹出提示框。
|
|
-- 作者:有点蓝 -- 发布时间:2023/10/20 16:11:00 -- 我测试很快,确实只有1秒。应该是其它代码的问题 |
|
-- 作者:2900819580 -- 发布时间:2023/10/20 16:54:00 -- Errlog.txt内容如下。 2023-10-20 16:56:53>>ftp开始\\ 2023-10-20 16:56:53>>UpdateUse:Aa=123456@192.168.0.126 2023-10-20 16:56:53>>准备判断连接\\ 2023-10-20 16:56:53>>没有连接\\ 2023-10-20 16:57:14>>连接失败\\ 命令窗口,没有其它代码。 FileSys.WriteAllText(ProjectPath & "Errlog.txt", vbcrlf & Date.Now & ">>ftp开始\\" , True) Dim fstr As String = "ftp://Use:123456@192.168.0.126" fstr = fstr.Replace("ftp://", "") FileSys.WriteAllText(ProjectPath & "Errlog.txt", vbcrlf & Date.Now & ">>" & fstr , True) Dim Fs1() As String = fstr.Split("@") Dim Fs2() As String = Fs1(0).Split(":") Dim ftp1 As New FtpClient ftp1.Timeout = 1000 ftp1.Host = fs1(1) ftp1.Account = fs2(0) ftp1.Password = fs2(1) FileSys.WriteAllText(ProjectPath & "Errlog.txt", vbcrlf & Date.Now & ">>准备判断连接\\" , True) If ftp1.Connected = False Then\'如果FTP没有连接 FileSys.WriteAllText(ProjectPath & "Errlog.txt", vbcrlf & Date.Now & ">>没有连接\\" , True) If ftp1.Connect = False Then \'连接FTP FileSys.WriteAllText(ProjectPath & "Errlog.txt", vbcrlf & Date.Now & ">>连接失败\\" , True) Messagebox.show("连接FTP失败导致升级失败,请检查FTP设置,可在服务端更改客户端升级路径解决此问题!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If |
|
-- 作者:有点蓝 -- 发布时间:2023/10/20 17:13:00 -- 网络不通导致的。换种方式,先ping一下ip,这里可以设置超时,ping的通再连:http://www.foxtable.com/webhelp/topics/1401.htm |