当前位置: 首页 > news >正文

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函数(清理装有文件信息结构体的列表、定义文件对象、打开拼接文件、)

文件下载二:

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

http://www.dtcms.com/a/345111.html

相关文章:

  • C++ 判断: 深度解析与实战指南
  • 华中产业带跨境电商进阶:亚马逊加速器驱动下的多维度能力重构
  • CSS @media 媒体查询
  • Python从入门到自动化运维
  • 凌霄飞控开发日志兼新手教程——基础篇:认识基本的文件内容和相关函数作用(25电赛备赛版)
  • Quarkus 从入门到精通完整指南Q
  • Python socket远程部署工具服务
  • 云原生作业(k8s总结)
  • 爬虫基础学习-配置代理、以及项目实践
  • Spring Cloud系列—SkyWalking告警和飞书接入
  • CGI-CVE-2016-5385
  • 【实时Linux实战系列】实时网络流量监测与管理
  • tauri配置允许执行eval脚本,在打包cocos游戏web/phone移动端的时候一定要配置
  • canvas绘制图片等比缩放
  • 高边开关+BUCK+MOSFET:48V智能汽车动力链的“黄金三角”
  • Prometheus+Grafana监控mysql
  • AI推理革命:从Sequential Thinking到Agentic AI的演进之路——揭秘大语言模型思维进化的四重奏
  • 【Linux网络编程】Reactor反应堆模式
  • 氙灯市场报告:亚太成增长主力,汽车、医疗、科研多领域需求驱动行业发展
  • 永磁同步电机无速度算法--基于跟踪观测器的脉振正弦注入法
  • 无线数传模块实现:焦化厂四大车与除尘系统无线通讯连锁控制方案案例
  • ComfyUI 原生 REST API 技术文档
  • 视频拼接融合技术:打造全景视界的革命性产品
  • modbus绑定变量,并发送8位数据的办法
  • Vue中的methods 和 computed
  • Linux-Makefile
  • 网络编程6(JVM)
  • 【Redis】哨兵模式和集群模式
  • 红帽认证升级华为openEuler证书活动!
  • 【学习记录】c完整线程池实现