使用Linux实现FTP云盘1

关于FTP服务器

FTP(文件传输协议)服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP

协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。 程序运行,服务端不断接收客户端指令,服务 端可同时处理多个客户端接入并对指令作出解析,并把执行结果返回给客户端,客户端根据服务端对指令的 解析并把由服务端传递过来的处理信息通过客户端呈现给客户,实现文件的各种操作。

Linux网络编程实现的FTP服务器,服务器由服务端和客户端组成,具有浏览远程服务端的文件和浏览客户端本地文 件,同时支持对远程服务端文件的删除,存储,归档操作处理,以及客户端对远程服务端文件的上传和下载。

实现功能

这里我们主要使用socket

ls---------查看服务端文件

lls---------查看客户端自己的文件

cd---------切换服务端目录

lcd---------切换客户端自己的目录

put---------上传文件

get---------下载文件

基本思路

服务端:

1:socket 创建服务端的套接字

2:bind 端口号和IP地址

3:listen 监听客户端的连接

4:accept 接受客户端的接 入

5:read 接收客户端发送的message

6:服务端开始处理从客户端接收到的消息

7:send (write)服务端的msg到客户端

客户端:

1.socket 创建客户端的套接字,构建客户端和服务端发送和接收信息的桥梁

2.connect 连接上服务端

3.获取用户键 盘输入,处理输入命令buf

4.send (write)客户端的command到服务端

5.read 服务端返回的message

客户端的基本框架1:

下面的choosecmd是一个封装函数,用于选择需要操作的指令

客户端的基本框架2:

服务器端的基本框架1:

服务器端的基本框架2:

具体功能见下篇文章!!!

相关推荐
大树8813 分钟前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠17 分钟前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质40 分钟前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush443 分钟前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 小时前
Linux 11 动态监控指令top
linux
Inhand陈工2 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩2 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_2 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈2 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix