FTP 编程 5 文件传输与目录切换

本文详细介绍了FTP编程中的文件传输和目录切换。客户端文件上传通过发送命令、告知文件大小、分段传输来实现,服务端则接收文件并保存。目录切换主要涉及路径同步和信息交换。提供了客户端和服务器端的代码示例。
摘要由CSDN通过智能技术生成

FTP 编程 5 文件传输与目录切换


    接下来说最后一个 FTP 实现的功能点了,文件传输加上前面几篇文件介绍的功能实现组合起来基本就能实现一个 FTP 程序了,但这个只是简单的实现,和现实中能使用的还有很多要完善,但现在的时间比较紧张,没有太多时间弄了,还有好多的东西要学。所以如果各位有兴趣的话,可以自己去完善,反正要用的基本就是这些,和其他组合一下,自己摸索完善一下,比如弄个图像界面之类的。

文件传输

    本文以客户端上传文件为例,但客户端下载原理基本雷同,会其一就能写出另外一个的。文件上传的大概如下:

  • l.首先客户端向服务端发送命令说明自己要想服务端上传文件了
  • 2.服务端收到客户端的命令,在本地创建相应的文件
  • 3.客户端再向服务端发送文件的大小信息,这个信息是非常有用的,用于服务端如何判断文件传输是否完毕
  • 4.服务端收到文件大小信息,用于统计
  • 5.客服端打开相应的文件进行读取传输,用一个循环,在循环里面每次读取1024字节并传输,也就是分段传输,不是一次性读取完并传完
  • 6.服务端用一个循环接收文件信息,每次接收1024字节(与客户端同步),并统计相应的剩下的文件大小,当文件大小等于小于0时传输完毕
  • 7.客户端读取完毕,关闭文件,等待下一命令
  • 8.服务端接收完毕,关闭并保存文件,等待客户端的下一个命令

    具体的代码如下:

客户端文件上传代码

bool Client::uploadFile(std::string filePath)
{
    //打开文件
    char* workPath = _getcwd(NULL, 0);
    if (workPath == NULL) {
        std::cout << "Get current work path failed\n";
    }
    else {
        std::cout << workPath << std::endl;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值