当前位置: 首页 > news >正文

Linux_6:FTP云盘项目

1.FTP云盘项目介绍

        FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP 协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。 程序运行,服务端不断接收客户端指令,服务端可同时处理多个客户端接入并对指令作出解析,并把执行结果返回给客户端,客户端根据服务端对指令的 解析并把由服务端传递过来的处理信息通过客户端呈现给客户,实现文件的各种操作。

2.基本功能

利用socket实现云盘的:

ls———查看服务端文件

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

cd———切换服务端目录

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

put———上传文件

get———下载文件

3.流程示意图基本思路

1.流程图:

2.基本思路

服务端:

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

4.函数

1.strtok


char *strtok(char *str, const char *delimiters)

参数:

str

        在第一次调用时,这是你要被分割的字符串的指针。

        在后续的调用中,你应该传入 NULL。函数会从它上一次保存的位置继续分割。

delimiters

        这是一个字符串,包含了所有被视为分隔符的字符。

返回值:

        成功时:返回一个指向下一个找到的子字符串 的指针。

        没有更多子字符串可找时:返回 NULL 指针。

2.popen

popen 的主要作用是创建管道并启动另一个进程,实现进程间的通信(IPC)。

FILE *popen(const char *command, const char *type);

command

        要执行的shell命令的字符串。

        例如:"ls -l""grep hello""wc -l"

type

        管道的数据流方向:

  "r":读取模式。C程序从被调用进程的标准输出读取数据。

  "w":写入模式。C程序向被调用进程的标准输入写入数据。

返回值:

        成功时:返回一个 FILE * 指针,可以像操作普通文件一样使用freadfgetsfprintf等函数。

        失败时:返回 NULL,并设置相应的 errno

http://www.dtcms.com/a/605043.html

相关文章:

  • Spring Boot spring.factories文件详细说明
  • 网站seo文章免费asp地方门户网站系统
  • 《信息存储与管理》逻辑串讲
  • dify TTS部署 GPT-SoVITS
  • kotlin中SharedFlow的简单使用
  • Kotlin 中的 inline 和 reified 关键字
  • 开封府景点网站及移动端建设情况精品资源共享课网站建设 碧辉腾乐
  • 战场目标检测:Faster R-CNN与RegNetX-800MF融合实现建筑物人员坦克车辆识别_2
  • 易语言黑月编译器:提升编程效率与性能优化 | 深入解析易语言开发中的工具应用与技巧
  • Vibe Coding - 从Vibe Coding到Spec Coding_AI编码范式的进化之路
  • 宣化网站建设青岛网站制作推广平台
  • 【多模态大模型面经】 BERT 专题面经
  • Node.js 开发实战:从入门到精通
  • 草莓病害智能识别与分类_Cascade-RCNN_HRNetV2p-W18-20e_COCO实现
  • 改造多模块!!无法使用三方依赖的异常处理
  • JMeter 自动化实战:自动生成文件并传参接口的完整方案
  • AutoSAR实战:RTA-OS Counters操作系统计数器详解
  • FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection论文精读
  • 北京市轨道交通建设管理有限公司网站企业网站建设合同书模板
  • 做图表的网站大连关键词
  • Vue 3中集成GIS(地理信息系统)
  • 进程基本概念
  • Java模拟算法题目练习
  • Mac远程控制新篇章:UU远程被控端深度测评
  • WordPress插件--菜单登录后可见的插件
  • 电商数据分析报告
  • Rust与主流编程语言客观对比:特性、场景与实践差异
  • C语言编译器有哪些 | 选择最适合的编译器提高开发效率
  • 网站频道规划网站个人备案模版
  • 昆明公司建设网站制作上海seo外包