Foxtable(狐表)用户栏目专家坐堂 → 直接在命令窗口中运行ftp下载会出错


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

主题:直接在命令窗口中运行ftp下载会出错

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


加好友 发短信
等级:八尾狐 帖子:1911 积分:17026 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/4/7 23:13:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20160407224437584.jpg
图片点击可在新窗口打开查看

IE浏览器可以打开,但是点击那个升级文件时不会弹出下载对话框即没反应,

在远程文件管理器有时会显示列表失败, 451 another command is currently pending ,Please try again later,
然后一直提示上面这个:

重新关掉上传下载再次打开有时又提示如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图2.png
图片点击可在新窗口打开查看

重新关掉上传下载再次打开有时又正确如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图3.png
图片点击可在新窗口打开查看

手动下载自动升级的代码如下:
'连接FTP服务器
Dim ftp As New FtpClient
ftp.Host = ftp_Host  'ftp服务器地址
ftp.Account = ftp_User  'ftp登录帐号
ftp.Password = ftp_Pwd   'ftp登录密码
ftp.Port = ftp_Port  'ftp端口号
ftp.RootDir = "/Update" '如果升级所需文件刚好放置在FTP的根目录下,可以不用设置此属性;否则需要设置目录路径.
If TryConnectHost(ftp_Host) Then  '如果ftp的网络是通的检测是否有升级包
    If ftp.Connect Then '如果FTP没有连接,用备用域名连接
        '----新增临时升级目录----
        If FileSys.DirectoryExists("D:\UpdateTemporary") = False Then
            FileSys.CreateDirectory("D:\UpdateTemporary")
        End If
        '---先下载ftp服务器上的日期文件----------
        If ftp.Download("\Update\Update.Txt","D:\UpdateTemporary\Update.Txt") = True Then '如果下载升级日期文件成功
            Dim ud() As String = FileSys.ReadAllText("D:\UpdateTemporary\Update.Txt").Split("|")
            Dim Sdate1 As Date = Cdate(ud(0)) '服务器update.txt发布日期
            Dim Sdate2 As Date = Cdate(ud(1)) '服务器Version.txt发布日期
            Dim Cdate1 As Date = PublishDate '客户端发布日期
            Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\Bin\Version.txt") '客户端Version.txt发布日期
            
            If Sdate2 > Cdate2 Then '如果服务器程序发布日期大于客户端发布日期(大升级)
                'If MessageBox.Show("发现新的版本更新,发布日期:" & Sdate2 & ",是否升级?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                If ftp.Download("\Update\Update2.Zip","D:\UpdateTemporary\Update2.Zip") = True Then '如果下载程序文件成功
                    UpdatePath = "D:\UpdateTemporary"
                    RemoteUpdate = False
                    If Syscmd.Project.Update(False,True) = True Then '发现新版本时不提示用户,因为前面已提示过
                        '----删除临时升级目录----
                        If FileSys.DirectoryExists("D:\UpdateTemporary") = True Then
                            FileSys.DeleteDirectory("D:\UpdateTemporary",2,2)
                        End If
                        Return '升级完成后必须先中止后面的代码,否则会出错
                    End If
                End If
                ' End If
            ElseIf Sdate1 > Cdate1 Then '如果服务器版本发布日期大于客户端发布日期(小升级)
                'If MessageBox.Show("发现新的更新,发布日期:" & Sdate1 & ",是否升级?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                If ftp.Download("\Update\Update1.Zip","D:\UpdateTemporary\Update1.Zip") = True Then '如果下载程序文件成功
                    UpdatePath = "D:\UpdateTemporary"
                    RemoteUpdate = False
                    If Syscmd.Project.Update(False,True) = True Then '发现新版本时不提示用户,因为前面已提示过
                        '----删除临时升级目录----
                        If FileSys.DirectoryExists("D:\UpdateTemporary") = True Then
                            FileSys.DeleteDirectory("D:\UpdateTemporary",2,2)
                        End If
                        Return '升级完成后必须先中止后面的代码,否则会出错
                    End If
                End If
                'End If
            Else
                MessageBox.Show("您正在使用的已经是最新版本!")
            End If
        End If
    End If
End If

执行这段代码后在电脑的D盘下会出现一个
Update.Txt.fxdlif  这个没有下载成功的文件,当然升级就不成功了







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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/7 23:28:00 [只看该作者]

1、你的ftp是否设置了最大连接数?有可能重复使用导致没有连接数了。

 

2、你本机的防火墙也关闭一下。

 


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


加好友 发短信
等级:八尾狐 帖子:1911 积分:17026 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/4/7 23:47:00 [只看该作者]

服务器和客户端的防火墙都是关闭的,我自动升级的代码没错吧,
有时总是怀疑哪里多了一个\或者\写成/造成出错,
但同样的代码在另外一家公司又没问题,远程局域网内的电脑都可以正确的自动升级,所以真不知道怎么办了,远程调试用户的服务器一两天了也没有解决,在服务器上直接安装ftp,用各种ftp软件都试了,现在是安装的ser-U,也是同样的问题

服务器上的应该打开的端口,从21到各种主动或被动模式的端口都开启测试了,路由器上的端口映射都设置了就是没用啊
客户用的是花生壳或者金万维的免费的域名解析,应该和这个没关系吧,因为除了ftp自动升级不可以外,远程外网和内网平时使用系统都能没有问题。

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/8 8:33:00 [只看该作者]

可能是系统的网络组件有问题。升级一下网卡的驱动,或者用360卫士之类的修复一下网络看看。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/8 9:47:00 [只看该作者]

用4楼代码测试下载,报什么错?


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


加好友 发短信
等级:八尾狐 帖子:1911 积分:17026 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/4/8 13:20:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:ftp001.png
图片点击可在新窗口打开查看

是不是我上面地址那里用ftp写的不正确?

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


加好友 发短信
等级:八尾狐 帖子:1911 积分:17026 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/4/8 14:42:00 [只看该作者]

用FlashFxp软件都能正常登录下载,就是ft的远程文件管理器中下载就不行


图片点击可在新窗口打开查看此主题相关图片如下:ftp-2.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:ftp-3.png
图片点击可在新窗口打开查看



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/8 15:01:00 [只看该作者]

 肯定是你客户端/服务器的防火墙没有关闭掉。

 

 同时,你用的是什么版本的foxtable?升级到最新版。


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


加好友 发短信
等级:八尾狐 帖子:1911 积分:17026 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/4/8 18:09:00 [只看该作者]

版本是2016-3-27的版本,请教一下老师说的那种封装方法怎么用啊,如16楼所示在命令窗口运行会出错

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/11 0:01:00 [只看该作者]

 还是来解决ftp的问题,肯定是你客户端/服务器的防火墙没有关闭掉。

 

 同时,你看看你ftp的在线用户,看看是不是连接数都被占用了?


 回到顶部
总数 20 上一页 1 2