这个项目就是要懂的网络编程的要点,以及对C语言的使用和各种Linux的指令要了解,还有Linux进程,Linux的文件编程的各种APi要一定的认知,希望大家能好好的理解代码每段的意思,Linux网络编程实现的FTP服务器,服务器由服务端和客户端组成,具有浏览远程服务端的文件和浏览客户端本地文件,客户端对远程服务端文件的上传和下载。
一.项目要求:
1.制作一个服务器和客户端
2.服务器和客户端都有相应的文件
3.客户端可以向服务器发送类似于Linux里面的操作指令(ls,pwd,cd等)
4.服务器收到客户端的指令做出对应的操作
二.指令介绍
客户端对服务器的指令:
ls:查看当前目录下的文件
cd xxx:进入xxx这个目录
pwd:显示当前目录
get xxx:客户端可以获取到服务器的xxx文件
put xxx:客户端可以把自己的xxx文件传输到服务器端
客户自身操作指令
lls:客户端自身查看目录
lcd xxx:客户端自身进入xxx这个目录下
quit:客户端退出连接
三.代码实现
基本思路:
基本思路:
服务端:
socket 创建服务端的套接字 2:bind 端口号和IP地址 3:listen 监听客户端的连接 4:accept 接受客户端的接 入 5:read 接收
客户端:.
socket 创建客户端的套接字,构建客户端和服务端发送和接收信息的桥梁 2.connect 连接上服务端 3.获取用户键 盘输入,处理输入命令buf 4.send (write)客户端的command到服务端 5.read 服务端返回的message
做了一个头文件:config.h
#define LS 0
#define GET 1
#define PWD 2
#define IFGO 3
#define LCD 4
#define LLS 5
#define CD 6
#define PUT 7
#define QUIT 8
#define DOFILE 9
struct Msg
{
int type;
char data[1024];
char secondBuf[128];
};
一.先实现服务器的代码的思路:
1.先建立好socket套接字
2.当连接到客户端的时候,创建一个新的进程去接收客户端发送过来的指令
3.一个指令一个指令来实现工能,不要一下就满足所有的功能,这样是不靠谱的,小白现在也实现不了这么
4.处理接收到的指令,分析指令来来满足需求
#i