找回密码
 加入
搜索
查看: 2367|回复: 7

[网络通信] 通過FTP無法下載FTP端實時更新的文件

[复制链接]
发表于 2017-1-20 08:39:00 | 显示全部楼层 |阅读模式
   #cs
       Auther: Hansen
       Description: Used to get test status ,and download log
       Version: V1.0
       Date: 2017/1/12
    #ce

    #include <FTPEx.au3>
    #include <GUIConstantsEx.au3>
    #include <ListviewConstants.au3>
    #include <File.au3>
    #Include <GuiListView.au3>
    #RequireAdmin

    Opt('MustDeclareVars',1)
    Opt("GUIOnEventMode", 1)

    Local $main_gui,$msg,$item_list,$iii,$time_label
    Local $ftp_address="10.67.222.2",$ftp_dialog,$ftp,$return1
       Global $log_all_path=@ProgramFilesDir&"\status_log",$log_path=@ProgramFilesDir&"\status_log\status.ini",$log_path_swap=@ProgramFilesDir&"\status_log\status_swap.ini",$log_path_completed=@ProgramFilesDir&"\status_log\status_completed.ini",$ii=0,$list_view
    Func load_ftp_log()
       Global $file_line
       If FileExists($log_path) Then FileDelete($log_all_path)
              MsgBox(0,'','')
       $ftp=_FTP_Open("Teststatus")
       $ftp_dialog=_FTP_Connect($ftp,$ftp_address,"anonymous","")
       If $ftp_dialog=0 Then
              MsgBox(0,'Warning!',"Can't connect host server(10.67.222.2)!",3)
              Exit
       EndIf
       $return1=_FTP_FileGet($ftp_dialog,"pub/status.ini",$log_path,False,0,0)
       ;$return1=_FTP_ProgressDownload($ftp_dialog, $log_path, "pub/status.ini")
       MsgBox(0,'',$return1)
       _FTP_FileGet($ftp_dialog,"pub/status_swap.ini",$log_path_swap)
       _FTP_FileGet($ftp_dialog,"pub/status_completed.ini",$log_path_completed)
       $file_line=_FileCountLines($log_path)
    EndFunc

    load_ftp_log()
    Sleep(10000)
    load_ftp_log()
上面是我獲取FTP文件的一些代碼,最後是間隔10秒后再獲取一次FTP端的文件到本地,問題就是當我在這十秒内更改FTP端的文件,遇到最後一次獲取到的文件不是我修改后的文件,而是第一次獲取的,但是當我程序重新運行,第一次就可以獲取到我修改的文件,可是修改后同樣最後一次不能獲取到我修改后的文件,這個脚本主要是想持續去抓取FTP端文件的變化,有誰知道麽?自己試了很多還是不行!
有試過每次下載刪除上次本地已經下載的文件,FTP端文件同步,都不能解決!
 楼主| 发表于 2017-2-6 10:54:22 | 显示全部楼层
同志们,谁谁站出来回答下呀?
 楼主| 发表于 2017-2-6 12:02:16 | 显示全部楼层
赚点金币玩玩!
发表于 2017-2-6 14:05:50 | 显示全部楼层
下载前先刷新一下??
 楼主| 发表于 2017-2-6 16:53:58 | 显示全部楼层
回复 4# 229989799


    怎麽刷新?
发表于 2017-2-8 04:55:06 | 显示全部楼层
在load_ftp_log函数的结束出加上_ftp_close试一下。
 楼主| 发表于 2017-2-8 10:39:49 | 显示全部楼层
回复 6# h20040606


    有試過,還是不行,貌似必須重啓這個軟件才能獲取FTP更新后的文件,總是差一個刷新!
发表于 2017-2-9 15:42:58 | 显示全部楼层
_ftp_close再重新连上去,检测文件大小一样就不下载
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 10:31 , Processed in 0.084506 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表