使用 Socket 通信实现 FTP 客户端程序

2015-01-18 09:59:35|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C/C++, 网络通信|来源:唯设编程网

客户端让 FTP 服务器进入被动模式

当客户端在下载/上传文件前,要先发送命令让服务器进入被动模式。服务器会打开数据端口并监听。并返回响应码 227 和数据连接的端口号。

3. 客户端让服务器进入被动模式

图 3. 客户端让服务器进入被动模式

清单 3. 让服务器进入被动模式,在数据端口监听

/* 命令 ”PASV
” */

sprintf(send_buf,"PASV
");

/* 客户端告诉服务器用被动模式 */

write(control_sock, send_buf, strlen(send_buf));

/*客户端接收服务器的响应码和新开的端口号,

* 正常为 ”227 Entering passive mode (<h1,h2,h3,h4,p1,p2>)” */

read(control_sock, read_buf, read_len);

客户端通过被动模式下载文件

当客户端发送命令下载文件。服务器会返回响应码 150,并向数据连接发送文件内容。

4. 客户端从FTP服务器端下载文件

图 4. 客户端从FTP服务器端下载文件

发表评论0条 】
网友评论(共?条评论)..
使用 Socket 通信实现 FTP 客户端程序