经官方查询,ftp上传的文件日期和时间是服务器端的时间和日期,可以在详情界面查看。
FTP协议是一个用于在计算机网络上客户端和服务器之间进行文件传输的应用层协议,包括FTP服务器和FTP客户端两个组成部分。FTP能操作任何类型的文件而不需要进一步处理,但有着极高的延时,从开始请求到第一次接收需求数据之间的时间较长,并不时地执行一些冗长的登录进程。
最近有个同时的ftp总是上传文件失败,更换过各种ftp客户端和账号都没有问题,之后又怀疑是win10的问题,但是另外一个同事也是win10,同样的软件,同样的账号都没问题。后来也关过系统防火墙,windows denfender之类的,均告失败。正当准备放弃的时候,突然看到一篇文章(原文连接: https://trac.filezilla-project.org/ticket/5533#no1 )是和同事的情况类似,因为他也是很小的文件可以上传,但是大于几kb之后就不能上传了,而导致这个问题的原因是和 MTU 有关。
具体来说,FTP使用两个TCP连接来通信,一条控制连接(control connection)用来提交命令和接受回复;一条数据连接(data connection)来处理实际的文件传输。在文件传输过程中,控制连接是很容易进入空闲状态的,TCP标准也没有规定一个连接的最大空闲时间。但是路由器和防火墙经常会把空闲的连接给关闭掉,并且不通知双方,就造成了传输100%但最后还是超时的现象。后面的评论就是解决问题的关键了:TCP传输过程中有最大的包上限MTU(Maximum Transmission Unit,不超过1500),超过这个大小的传输就要拆成多个包(packet)。所以比较“小”的文件不用拆包,一次就传输完了;“大”的文件需要拆包,分多次发送,就出现超时的问题。
好了既然找出始作俑者了,那么如何修改呢?
通过上面的设置修改,发现果然ftp上传没问题了。
抱着好奇的态度,我又去看了下另外一个同事的电脑发现,他的 MTU也是默认的1500,为什么他可以???
后来又查询资料发现,原来MTU和ISP有关系,后来我又对比了下他们电脑上的dns,发现果真不一样。好吧,又学习到了不少知识。
建立站点启动CuteFTP、选择“文件”→“连接向导”,然后顺着向导,选择上传文件夹,如C:\Upload。同时设置服务器。
保存上传队列
选择“传送”→“队列”→“保存队列”,并保存当前列表为ccu.com(如图1)。
保存队列文件
注意:如果你有多个文件需要上传到不同的FTP服务器上,那可以重复上述步骤,新建多个队列文件。
自动上传文件
选择“传送”→“按计划任务传送”,在打开的窗口中选中“启用计划任务管理器”复选框,再单击“添加队列文件”按钮(如图2)。打开先前保存的ccu.que,接着,在打开的(如图3)所示的窗口中设置定时上传时间。按下“确定”按钮即可把它添加到当前列表中(如图4)。
添加队列文件
设置定时上传时间
已将队列添加到列表中
最小化CuteFTP,等到了我们设置的时间,机器会自动把数据上传到FTP服务器上。
两个技巧
1.如果选择图4中“显示倒计时”复选框,再单击“在完成传送后”下拉列表框,选择“关闭计算机”。那机器会在上传前一段时间显示一个倒计时窗口,同时在上传完成后,也会自动关闭计算机。
2.选择“编辑”→“设置”,在打开的窗口中单击“显示”下的“声音”项,再选择相应的事件,然后单击相应事件。再在窗口下方选择相应的声音,或者单击“打开”按钮选择相应的WAV声音即可(如图5)。这样当我们连接服务器、断开连接、开始下载、出现疑问或开始上传时就会有相应的声音来提醒我们。
设置提醒声音
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)