【代码】--库函数学习 ftp通信 相关

news/2024/9/27 23:32:54

1. FTP介绍

  (1)主动模式(PORT): 服务器主动去连接客户端的数据端口

  (2)被动模式(PASV): 客户端主动去连接服务器的数据端口

ftp客户端通信流程(编程流程)如下:1. 客户端用账号、密码进行登录。  2. 提交主动模式还是被动模式。 3. 如果是被动模式,需要去连接服务器开放的数据传输端口4. 发送指令到服务器的控制端口,获取服务器返回结果5. 上传文件夹、上传文件6. 下载文件夹、下载文件

2. 相关函数介绍

     ftp中封装的相关函数太多,只介绍主要的函数。

     

2.1 dir_list.c (构建目录下文件链表)

       以某一个目录下全都是普通文件,不包含子目录来讲解。(因为感觉存在子目录时代码有问题

 数据结构:
//目录或文件节点
typedef struct _dir_node
{char *file_name;   //文件(目录名)名,例如:aaa.txtchar *dir_name;    //绝对路径文件名,例如:/home/root/aaa.txtint is_dir;        //1表示是目录文件,2表示是普通文件   
}dir_node;//目录链表:存储某个目录下的所有文件
typedef struct _dir_list
{dir_node **list;  //指向文件节点指针的指针int count;        //当前目录下的文件计数int is_local;      //1:表示是本地客户端中目录。   该标志在下载或上传时会用到//0:表示是ftp服务器中目录
}dir_list;
重要函数
/*该函数做的事情:(1)创建了一个dir_list目录链表结构;(2)创建了length个dir_node *指针,并让dir_list.list指向这些。
*/
(1)dir_list* create_dir_list(int length,int dir_is_local)/*该函数做的事情:(感觉该函数有bug)(1)把一个目录下所有文件(包括目录文件,但除了.和..)加入到目录链表中(2)如果该目录下的最后一个文件是目录文件,则将子目录下的文件也加入到目录链表中(递归)注意:如果存在子目录,则该函数可能存在问题
*/
(2)int get_dir_list(dir_list *p_dir_list,char *cur_dir)

最终得到的结果

       

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/45828.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

300PLC连接Modbus转Profibus网关与阀岛modbusRTU通讯

300PLC通过Modbus转Profibus网关(XD-MDPB100)实现与阀岛ModbusRTU通讯。300PLC作为常见的控制器设备,在与阀岛Modbus RTU通讯时,通常需要借助Modbus转Profibus网关(XD-MDPB100)来实现连接和数据交换。PLC通过Modbus转Profibus网关(XD-MDPB100)与阀岛Modbus RTU通讯是比…

Windows更新报错 0xc1900101 0x30018 解决方案

卸载自带的电脑管家(比如华硕、联想、华为等)通过禁用第三方驱动启动Windows(win+r 运行 msconfig),然后禁用掉第三方服务,重启系统。检查更新,应该问题就能解决记得重新运行msconfig,把禁用的驱动和服务再打开

远程桌面提示你的凭据不工作解决方案

这几天遇到用户名密码正确,但是使用远程桌面提示“你的凭据不工作”的问题,尝试了下面连接提到的方法,均未解决。 https://www.cnblogs.com/wmxblog/p/17540648.html 经过查找资料,发现是CredSSP的问题,有两个方案来解决这个问题。 编辑远程桌面文件打开远程桌面,设置好信…

增加替代中不存在的字段GGB1 OBBH OB28

SAP把所有允许替代和有效性检查的字段都放在GB01表中,如果该表中没有这个字段,但是BSEG或者BKPF中有这个字段,可以用下面的代码进行修改: 如:LIFNR字段在BSEG中存在,但是这个字段在SAP标准下是不可以被替代的,我们可以通过修改GB01表达到BSEG-LIFNR可以被替代的效果。 S…

[机器视觉]halcon应用实例 边缘检测

一个学习找边的实例 边缘检测的步骤图解 步骤 1.通过Blob方法获取需要测量的Region1.1 主要运用图像形态学、二值化2.创建测量句柄2.1 create_metrology_model (MetrologyHandle)3.设置目标图像大小3.1 set_metrology_model_image_size (MetrologyHandle, Width, Height…

[机器视觉]halcon应用实例 用户自定义多ROI模板匹配

本示在前面几个halcon ROI示例的基础上继续扩展,更靠进实标情况。为了使ROI匹配更灵活,就要求可以让用户或工程根据实际使用情况自己去画ROI,想画几个是几个。数量不能在代码里写死。 这次升级的主要是增加了一个while循环根据用户的鼠标按键来进行判断是否继续画,还是退出…

03.VisionMaster 机器视觉 位置修正 工具

VisionMaster 机器视觉 位置修正 工具 官方解释:位置修正是一个辅助定位、修正目标运动偏移、辅助精准定位的工具。可以根据模板匹配结果中的匹配点和匹配框角度建立位置偏移的基准,然后再根据特征匹配结果中的运行点和基准点的相对位置偏移实现ROI检测框的坐标旋转偏移,也就…

“数字东哥”出圈,618风向转变

618已经走过了十几年。随着技术、用户需求以及商业形态的变化,618也进化到了一个新阶段。 今年618,在一片低价促销声中,京东的数字人直播格外抢眼。4月中旬,由刘强东数字人直播点燃了第一把火,在收官阶段,再由18位企业创始人的数字分身在京东接力直播。这也让我们看到电商…