FTP/TCP上传下载文件

**封装C风格地ftplib为ftp.c和ftp.h文件:**cftplient类(主要成员变量:文件大小、文件修改时间、主要成员函数:get函数(远程文件名、本地文件名、核对文件时间)、put函数(本地文件名、服务端文件名、核对文件大小))、get函数实现(判断连接成功、创建本地目录、生成临时文件名、获取远程文件时间、使用FtpGet函数获取文件、若设置检查9时间则暂存上次获取远程文件时间并比较再次获取远程时间是否一致、若一致则重置文件时间、该临时文件名为正式文件名、获取文件大小)、put函数实现(判断连接成功、生成服务端临时文件名、记录本地文件上传之前时间、ftpput发送文件、获取本地文件上传之后地时间、时间不一致说明本地文件在上传过程中被修改则取消上传、重命名服务端文件、若需要核对则进一步检查远程文件大小是否和本地文件大小一致(上传到服务端是修改服务端文件操作,操作时间一直在变,无法用时间确认))

FTP客户端下载文件:设置结构体存储文件信息、设置四个容器存放结构体变量(容器一:存放之前下载成功的,容器二:服务器上所有文件,容器三:不需要下载的,容器四:本次需要下载的)、main函数中(信号处理、打开日志文件、解析运行参数、增加心跳信息、登录ftp、进入服务端目标目录、获取服务端所有文件名并保存到本地文件中、更新进程心跳、将服务端的文件列表放到容器2中,若是增量下载就将上一次的结果集放入容器1,比较容器1和容器2,得到不变容器3和需要下载的容器4,用不需要下载的容器3覆盖结果集,若不是增量下载,为了保持都是从容器4中操作下载,将容器2和容器4互换 、更新进程心跳、for(每个容器4的内容):构建客户端和服务端的绝对路径文件名、下载文件、更新进程心跳、如果增量模式就将容器4下载内容追加到结果集、若是删除模式就删除服务端文件、若是备份模式就构建备份文件全路径名称、转移服务端的源文件到备份目录)

解析xml文件:

文件下载一:loadlistfile函数(清理装有文件信息结构体的列表、定义文件对象、打开拼接文件、)

文件下载二:

文件下载三: 容器先清空、创建文件对象、