网络编程day3-FTP客户端项目

这篇具有很好参考价值的文章主要介绍了网络编程day3-FTP客户端项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FTP协议

    FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序一般只有一条 TCP 连接。在整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭

FTP客户端项目

    实现功能:

        登录

        pwd

        cd

        mkdir

        rmdir

        delete

        bye

        ls

        put

        get

    注意:发送的命令要以'\n'结尾,否则服务器无法识别

//  登录

[15:06:06] [R] 正在连接到 47.97.229.46 -> IP=47.97.229.46 PORT=21

[15:06:06] [R] 已连接到 47.97.229.46

[15:06:06] [R] 220 (vsFTPd 3.0.2)

//  发送用户名

[15:06:06] [R] USER student

[15:06:06] [R] 331 Please specify the password.

//  发送密码

[15:06:06] [R] PASS (hidden)

[15:06:06] [R] 230 Login successful.



[15:06:06] [R] OPTS UTF8 ON

[15:06:06] [R] 200 Always in UTF8 mode.

//  pwd

[15:06:06] [R] PWD

[15:06:06] [R] 257 "/home/student"

//  ls

//  开启PASV数据通道

[15:06:06] [R] PASV

[15:06:06] [R] 227 Entering Passive Mode (172,16,83,85,89,59).

[15:06:06] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 22843

[15:06:06] [R] LIST -al

[15:06:06] [R] 150 Here comes the directory listing.

[15:06:06] [R] 226 Directory send OK.

//  cd

[15:06:15] [R] CWD C++2307-1

[15:06:15] [R] 250 Directory successfully changed.

//  mkdir

[15:06:30] [R] MKD dir

[15:06:30] [R] 257 "/home/student/C++2307-1/dir" created

//  rmdir

[15:06:41] [R] RMD dir

[15:06:41] [R] 250 Remove directory operation successful.



[15:07:36] [R] TYPE A

[15:07:36] [R] 200 Switching to ASCII mode.

[15:07:36] [R] SIZE network.h

[15:07:36] [R] 213 913

[15:07:36] [R] MDTM network.h

[15:07:36] [R] 213 20230811033936

//  get

[15:07:36] [R] PASV

[15:07:36] [R] 227 Entering Passive Mode (172,16,83,85,97,119).

[15:07:36] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 24951



[15:07:36] [R] RETR network.h

[15:07:36] [R] 150 Opening BINARY mode data connection for network.h (913 bytes).

[15:07:36] [R] 226 Transfer complete.



//  put

[15:08:00] [R] PASV

[15:08:00] [R] 227 Entering Passive Mode (172,16,83,85,39,64).

[15:08:00] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 10048

[15:08:00] [R] STOR Linux环境编程day01.c

[15:08:00] [R] 150 Ok to send data.

[15:08:00] [R] 226 Transfer complete.



[15:08:00] [R] MDTM 20230731085722 /home/student/Linux环境编程day01.c

[15:08:00] [R] 213 File modification time set.



//  delete 文件

[15:08:15] [R] DELE Linux环境编程day01.c

[15:08:15] [R] 250 Delete operation successful.

[15:08:15] 已删除 1 个文件 和 0 个文件夹 (11 KB) 耗时 0.03 秒



//  上传  断点续传

[17:05:52] [R] TYPE I

[17:05:52] [R] 200 Switching to Binary mode.

[17:05:52] [R] SIZE 20221203_134016.mp4

[17:05:52] [R] 550 Could not get file size.

[17:05:52] [R] PASV

[17:05:52] [R] 227 Entering Passive Mode (172,16,83,85,80,71).

[17:05:52] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 20551

[17:05:52] [R] STOR 20221203_134016.mp4

[17:05:52] [R] 150 Ok to send data.

[17:05:57] (软中止 - 发送“ABOR”命令)

[17:05:57] [R] 226 Transfer complete.

[17:05:57] [R] QUIT

[17:05:57] [R] 传输失败: 20221203_134016.mp4

[17:05:57] [R] 已注销: 47.97.229.46 (持续时间: 54 秒)

[17:05:57] 已传输 0 个文件 (0 字节) 耗时 5 秒 (0.0 KB/s)

[17:05:57] 已被用户中止


//  续传

[17:06:51] [R] TYPE I

[17:06:51] [R] 200 Switching to Binary mode.

[17:06:51] [R] SIZE 20221203_134016.mp4

[17:06:51] [R] 213 26083328

[17:06:51] [R] MDTM 20221203_134016.mp4

[17:06:51] [R] 213 20230814090557

[17:06:51] [R] PASV

[17:06:51] [R] 227 Entering Passive Mode (172,16,83,85,132,250).

[17:06:51] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 34042

[17:06:51] [R] REST 26083328

[17:06:51] [R] 350 Restart position accepted (26083328).

[17:06:51] [R] STOR 20221203_134016.mp4

[17:06:51] [R] 150 Ok to send data.

[17:07:03] (软中止 - 发送“ABOR”命令)

[17:07:03] [R] 226 Transfer complete.

[17:07:04] [R] 传输失败: 20221203_134016.mp4 (50.63 MB / 415.36 MB) 耗时 11 秒 (4.47 MB/s)

[17:07:04] 已传输 0 个文件 (0 字节) 耗时 12 秒 (0.0 KB/s)

[17:07:04] 已被用户中止

[17:07:10] [R] PASV

[17:07:10] [R] 227 Entering Passive Mode (172,16,83,85,153,212).

[17:07:10] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 39380

[17:07:10] [R] LIST -al

[17:07:10] [R] 150 Here comes the directory listing.

[17:07:10] [R] 226 Directory send OK.

[17:07:10] [R] 列表完成: 1 KB 耗时 0.06 秒 (1.9 KB/s)

[17:07:14] [R] SIZE 20221203_134016.mp4

[17:07:14] [R] 213 79167488

[17:07:14] [R] MDTM 20221203_134016.mp4

[17:07:14] [R] 213 20230814090704

[17:07:14] [R] PASV

[17:07:14] [R] 227 Entering Passive Mode (172,16,83,85,134,255).

[17:07:14] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 34559

[17:07:14] [R] REST 79167488

[17:07:14] [R] 350 Restart position accepted (79167488).

[17:07:14] [R] STOR 20221203_134016.mp4

[17:07:14] [R] 150 Ok to send data.

[17:07:23] (软中止 - 发送“ABOR”命令)

[17:07:23] [R] 226 Transfer complete.

[17:07:24] [R] 传输失败: 20221203_134016.mp4 (42.13 MB / 415.36 MB) 耗时 9 秒 (4.65 MB/s)

[17:07:24] 已传输 0 个文件 (0 字节) 耗时 10 秒 (0.0 KB/s)

[17:07:24] 已被用户中止

ftp客户端项目 (gitee)文章来源地址https://www.toymoban.com/news/detail-689279.html

到了这里,关于网络编程day3-FTP客户端项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络编程】网络套接字&udp通用服务器和客户端

    端口号(port)是传输层协议的内容: 端口号是一个2字节16位的整数(uint16) 端口号用来标识主机上的一个进程 IP地址+port能够标识网络上的某一台主机和某一个进程 一个端口号只能被一个进程占用 此处我们先对TCP(Transmission Control Protocol 传输控制协议) 有一个直观的认识,后面再

    2024年02月16日
    浏览(40)
  • 网络编程:编写一个TCP客户端与服务端

    用的系统是Ubuntu。 socket用来创建套接字。这个函数服务端与客户端都要使用。 第一个参数用来制定地址族规范,比如 AF_INET(PF_INET) 表示IPv4地址, AF_INET6(PF_INET6) 表示IPv6地址。 第二个参数用来制定套接字的类型规范,如 SOCK_STREAM 表示面向连接的套接字, SOCK_DGRAM 表示面

    2024年02月01日
    浏览(36)
  • ESP32网络编程-TCP客户端数据传输

    本文将详细介绍在Arduino开发环境中,实现一个ESP32 TCP客户端,从而达到与TCP服务器数据交换的目标。 Internet 协议(IP)是 Internet 的地址系统,具有将数据包从源设备传递到目标设备的核心功能。IP 是建立网络连接的主要方式,奠定了 Internet 的基础。IP 不负责数据包排序或错

    2024年02月03日
    浏览(29)
  • 网络编程——socket服务端和客户端(TCP)

    所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通

    2024年02月07日
    浏览(34)
  • 【网络编程】实现UDP/TCP客户端、服务器

    需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。   目录 一、UDP 1、Linux客户端、服务器 1.1udpServer.hpp 1.2udpServer.cc 1.3udpClient.hpp 1.4udpClient.cc 1.5onlineUser.hpp 2、Windows客户端 二、T

    2024年02月06日
    浏览(45)
  • Java 网络编程 —— 实现非阻塞式的客户端

    客户程序一般不需要同时建立与服务器的多个连接,因此用一个线程,按照阻塞模式运行就能满足需求 对于客户与服务器之间的通信,按照它们收发数据的协调程度来区分,可分为同步通信和异步通信 同步通信指甲方向乙方发送了一批数据后,必须等接收到了乙方的响应数

    2024年02月05日
    浏览(35)
  • 【Linux | 网络编程】TCP的服务端(守护进程) + 客户端

    上一节,我们用了udp写了一个服务端和客户端之间通信的代码,只要函数了解认识到位,上手编写是很容易的。 本章我们开始编写tcp的服务端和客户端之前通信的代码,要认识一批新的接口,并将我们之前学习的系统知识加进来,做到融会贯通… 代码详情:👉 Gitee 对于TC

    2024年01月16日
    浏览(32)
  • unix网络编程-简易服务器与客户端程序解析

    a -- address f -- file        eg: fputs() -- file put stream fd -- file descriptor h - host(主机) in/inet -- internet        eg: sockaddr_in; inet_aton n -- network(网络字节序)/numeric(数值) p -- protocol(协议)/presentation(表达/呈现形式) s -- socket        eg: sin -- socket internet t -- type,用于指定某种

    2024年01月16日
    浏览(54)
  • Linux网络编程:Socket套接字编程(Server服务器 Client客户端)

    文章目录: 一:定义和流程分析 1.定义 2.流程分析  3.网络字节序 二:相关函数  IP地址转换函数inet_pton inet_ntop(本地字节序 网络字节序) socket函数(创建一个套接字) bind函数(给socket绑定一个服务器地址结构(IP+port)) listen函数(设置最大连接数或者说能同时进行三次握手的最

    2024年02月12日
    浏览(67)
  • ESP8266-Arduino网络编程实例-HTTPS客户端数据请求

    超文本传输协议安全 (HTTPS) 是 HTTP的安全版本,HTTP 是用于在 Web 浏览器和网站之间发送数据的主要协议。HTTPS 经过加密,以提高数据传输的安全性。当用户传输敏感数据(例如通过登录银行账户、电子邮件服务或健康保险提供商)时,这一点尤其重要。 从技术上来讲,HTTPS

    2023年04月08日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包