资源描述:
《计网socket编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.深圳大学实验报告实验课程名称:计算机网络实验项目名称:Socket编程学院:计算机与软件学院专业:计算机科学与技术报告人:学号:班级:同组人:指导教师:实验时间:2015-05-10提交时间:2015年5月29日声明:本次实验内容由报告人和同组人独立完成,所有涉及到他人的工作均已说明。报告人和同组人均同意教师及学校为教学活动而引用本实验的内容,且无需事先征得同意和特别说明。word范文.教务处制一、实验目的了解FTP协议的工作原理,掌握基于socket的网络编程的基本原理。二、实验要求用Socket(WinSock)编程,实现简单的FTP客户端:客
2、户端和FTP服务器建立Socket连接。向服务器发送USER、PASS命令登录FTP服务器。使用PORT(或PASV)建立数据连接。使用NLST进行文件列表。使用RETR/STOR命令下载/上传文件。在下载完毕后断开数据连接并发送QUIT命令退出。服务器:ApacheFriends中的FileZillaFTP,或是lab:lab@ftp.case.szu.edu.cn在整个交互的过程中,控制连接始终处于连接的状态。数据连接在每传输一个文件时先打开,传输后关闭三、实验分析设计(1)服务端启动,等待用户连接(2)客户端启动,请求与服务端连接(3)服务端应
3、答,与用户建立连接(4)用户输入目录操作、文件上传下载等指令,服务端接收到指令后进行解析,作出相应的响应(5)重复(4)的过程,直至用户输入quit指令要求离开,服务结束四、核心代码说明#pragmacomment(lib,"ws2_32")#include#include#include#include#include#include#include"ftpClient.h"usingnamespacestd;#defineMENU"Wel
4、comeToTheFTPServer,PleaseInputTheCommandAndEnter!Suchas:LIST,CWD,RETR,STOR,DELE,RMD,MKD"word范文.//定义了在ftp服务器上能进行的操作intmain(){charDir[256];memset(Dir,NULL,256);intreturnNum;charip[16];intport;chartest;charuserName[50];memset(userName,NULL,50);strncpy(userName,"anonymous",strlen("
5、anonymous"));charPWD[50];chartemp[512];charCommand[4];//charParameter[256];cout<<"PleaseinputtheipoftheFTPserver::";cin>>ip;cout<<"Doyouwanttochangetheport,Nowtheportis21:[Y/N]";//使用命令端口21来连接到ftp服务器,在ftp协议下不用更改cin>>test;if(test=='Y'
6、
7、test=='y')//连接到ftp服务器{cout<<"Pleaseinputthen
8、umoftheport::";cin>>temp;port=(temp[0]-'0')*100+(temp[1]-'0')*10+(temp[2]-'0');//将字符型转化为数值型memset(temp,NULL,2);}elseif(test=='N'
9、
10、test=='n')port=21;elsecout<<"Error"<11、ent(ip,port);cout<<"DoyouwanttochangeUSERNAME,Nowisanonymous:[Y/N]";//不更改时默认的是匿名登录cin>>test;if(test=='Y'
12、
13、test=='y'){cout<<"UserName::";cin>>userName;//输入登录名word范文.}elseif(test=='N'
14、
15、test=='n')cout<<"UserName::anonymous"<setComma
16、nd("USER",userName);//验证登录名cout<