计算机网络课程设计实验报告(北京科技大学--arp、ftp、ip包)(5)

2019-08-30 17:51

命令字符串缓冲 ftpClient::ipAddress ip地址缓冲

ftpClient::listBuffer 列表信息缓冲 ftpClient::port 控制端口信息

ftpClient::portForData 数据端口信息

ftpClient::serveraddr

用于建立控制套接字参数,系统库参数 ftpClient::serveraddrData

用于建立数据套接字参数,系统库参数 ftpClient::socketControl 控制连接套接字 ftpClient::socketData 数据连接套接字 ftpClient::wsd

系统库参数,代表WSAData。

21 / 37

程序框图

START 输入服务器IP,PORT 连接服务器 输入用户名密码 身份验证 输入命令 判断命令 执行对应模块 LIST CWD DELE QUIT 完成命令 STOR MKD RMD RETR END

注:有少数功能学校服务器不支持。

22 / 37

实验结果

23 / 37

源代码

ftpClient.h

#include #include #include #include #include #include

#include #include

#pragma comment(lib,\#pragma comment(lib,%using namespace std; /*

封装ftpClient类 **/

class ftpClient {

private: WSAData wsd;//系统库参数 string ipAddress;//ip地址缓存 int port;//控制端口信息 char *buffer;//数据缓冲 char *cmdBuffer;//应答信息缓冲 char *listBuffer;//列表信息缓冲

24 / 37

char *command;//命令字符串缓冲 int portForData;//数据端口信息 SOCKET socketData;//数据连接套接字 SOCKET socketControl;//控制连接套接字 sockaddr_in serveraddrData;//用于建立数据套接字参数,系统库参数 sockaddr_in serveraddr;//用于建立控制套接字参数,系统库参数 /******************************************* 返回cmdBuffer中有的应答码 cmdBuffer必须有返回信息

前提条件:cmdbuffer中尚存PASV命令的应答信息 用来获取cmdBuffer中的端口信息并进行转换 *******************************************/ int getCode() { int code = 100*(cmdBuffer[0]-'0')+10*(cmdBuffer[1]-'0')+(cmdBuffer[2]-'0'); return code; }

/******************************************* 初始化控制连接

初始化客户端,连接服务器,成功返回1

失败返回0,打印欢迎信息,server返回信息,IP *******************************************/ int interlizeSocket() { //建立与Socket库绑定 WSAStartup(MAKEWORD(2,2),&wsd); //创建流式Socket socketControl = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //填充本地Socket地址 serveraddr.sin_family=AF_INET; serveraddr.sin_port=htons(port); serveraddr.sin_addr.s_addr=inet_addr(ipAddress.c_str()); //向FTP服务器发送Connect请求 connect (socketControl, (sockaddr*)&serveraddr, sizeof(serveraddr)); //从FTP服务器获得Connect应答 if (recv(socketControl,cmdBuffer,512,0)) { cout<<\ //判断Connect请求的应答码 if(getCode() == 220) { memset (cmdBuffer,NULL,512); return 1; }

25 / 37


计算机网络课程设计实验报告(北京科技大学--arp、ftp、ip包)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:怎样成为一名合格的咨询顾问 - 咨询顾问成功宝典 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: