网络编程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] 已被用户中止
ps:代码晚点附上
相关文章:
网络编程day3-FTP客户端项目
FTP协议 FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应)&…...
音频母带制作::AAMS V4.0 Crack
自动音频母带制作简介。 使用 AAMS V4 让您的音乐听起来很美妙! 作为从事音乐工作的音乐家,您在向公众发布材料时需要尽可能最好的声音,而为所有音频扬声器系统提供良好的商业声音是一项困难且耗时的任务。AI掌握的力量! 掌控您…...
【SpringCloud】SpringCloud整合openFeign
文章目录 前言1. 问题分析2. 了解Feign3. 项目整合Feign3.1 引入依赖3.2 添加注解3.3 编写Feign客户端3.4 测试3.5 总结 4. 自定义配置4.1 配置文件方式4.2 Java代码方式 5. Feign使用优化5.1 引入依赖5.2 配置连接池 6. Feign最佳实践6.1 继承方式6.2 抽取方式 前言 微服务远…...
成集云 | 飞书审批同步金蝶云星空 | 解决方案
源系统成集云目标系统 方案介绍 飞书员工报销审批通过后,审批单据内容和审批状态实时同步金蝶云星空 飞书是字节跳动于2016年自研的新一代一站式协作平台,将即时沟通、日历、云文档、云盘和工作台深度整合,通过开放兼容的平台,…...
【计算机组成 课程笔记】3.2 算数运算和逻辑运算的硬件实现
课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 3 - 2 - 302-门电路的基本原理(11-39--)_哔哩哔哩_bilibili 现代计算机的CPU和其他很多功能部件都是基于晶体管的集成电路,想要了解计算机组成的基本原理,还是需要有…...
python元组的不可变性和应用场景
Python元组是一种不可变的数据类型,也就是说一旦创建后,其元素无法被修改、添加或删除。元组使用圆括号来表示,元素之间使用逗号进行分隔。 以下是创建和访问元组的方法和语法: 创建元组: 使用圆括号直接创建ÿ…...
配置化开发的核心设计 - Schema
前端配置化SchemaServerless FaaS BaaS useImperativeHandle() react-helmet 参考链接 schema进入...
HTTP协议概述
HTTP 协议定义 HTTP协议,直译为超文本传输协议,是一种用于分布式、协作、超媒体的信息系统的应用协议。HTTP协议是万维网数据通信的基础。HTTP协议在客户端-服务器计算模型中充当请求-响应协议。客户端向服务器提交HTTP请求消息。服务器提供HTML文件和其…...
fastjson2 打开 AutoType
1. 功能简介 FASTJSON支持AutoType功能,这个功能在序列化的JSON字符串中带上类型信息,在反序列化时,不需要传入类型,实现自动类型识别。 2. AutoType安全机制介绍 必须显式打开才能使用。和fastjson 1.x不一样,fast…...
封装(个人学习笔记黑马学习)
1、格式 #include <iostream> using namespace std;const double PI 3.14;//设计一个圆类,求圆的周长 class Circle {//访问权限//公共权限 public://属性//半径int m_r;//行为//获取圆的周长double calculateZC() {return 2 * PI * m_r;} };int main() {//通…...
PyTorch 模型性能分析和优化 - 第 3 部分
这[1]是关于使用 PyTorch Profiler 和 TensorBoard 分析和优化 PyTorch 模型主题的系列文章的第三部分。我们的目的是强调基于 GPU 的训练工作负载的性能分析和优化的好处及其对训练速度和成本的潜在影响。特别是,我们希望向所有机器学习开发人员展示 PyTorch Profi…...
【力扣每日一题】2023.9.1 买钢笔和铅笔的方案数
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们三个数,一个是我们拥有的钱,一个是钢笔的价格,另一个是铅笔的价格。 问我们一共有几种买笔…...
实现不同局域网间的文件共享和端口映射,使用Python自带的HTTP服务
文章目录 1. 前言2. 本地文件服务器搭建2.1 python的安装和设置2.2 cpolar的安装和注册 3. 本地文件服务器的发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有广泛的应用…...
Kubernetes技术--k8s核心技术Pod
(1).概述 Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型。 k8s不会直接处理容器,而是 Pod,Pod 是由一个或多个 container 组成。 一个pod中的容器共享网络命名空间。 Pod是一个短暂存在的。 (2).为什么k8s中最小单元是…...
基于Springboot实现的Echarts图表
概述 ECharts是百度开源的一个前端组件。它是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)&…...
adb server version (41) doesn‘t match this client (39)
异常: adb server version (41) doesnt match this client (39); killing... ADB server didnt ACK安装ADB后:查看版本 $ adb version Android Debug Bridge version 1.0.39 Version 1:8.1.1-1r23-5.4-1eagle Installed as /usr/lib/android-sdk/platf…...
B080-RabbitMQ
目录 RabbitMQ认识概念使用场景优点AMQP协议JMS RabbitMQ安装安装elang安装RabbitMQ安装管理插件登录RabbitMQ消息队列的工作流程 RabbitMQ常用模型HelloWorld-基本消息模型生产者发送消息导包获取链接工具类消息的生产者 消费者消费消息模拟消费者手动签收消息 Work QueuesSen…...
关于岛屿的三道leetcode原题:岛屿周长、岛屿数量、统计子岛屿
题1:岛屿周长 给定一个 row x col 的二维网格地图 grid ,其中:gridi 1 表示陆地, gridi 0 表示水域。 网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰…...
lintcode 1081 · 贴纸拼单词【hard 递归+记忆化搜索才能通过】
题目 https://www.lintcode.com/problem/1081/ 给出N种不同类型的贴纸。 每个贴纸上都写有一个小写英文单词。 通过裁剪贴纸上的所有字母并重排序来拼出字符串target。 每种贴纸可以使用多次,假定每种贴纸数量无限。 拼出target最少需要多少张贴纸?如果…...
HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(二)
三、拖动手势(PanGesture) .PanGestureOptions(value?:{ fingers?:number; direction?:PanDirection; distance?:number}) 拖动手势用于触发拖动手势事件,滑动达到最小滑动距离(默认值为5vp)时拖动手势识别成功&am…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
