ftp_client和server的C语言实现 联系客服

发布时间 : 星期二 文章ftp_client和server的C语言实现更新完毕开始阅读637aed0b76c66137ee061988

输入参数: SOCKET h_Socket4Cmd,通过此socket发送命令到服务器。 char FileName[40], 欲下载文件的文件名

***********************************************************************/ int getfun(SOCKET h_Socket4Cmd,char FileName[40]) {

int ret; FILE *fpre; char szBuffer[80]; sz_Msg2Snd[0]='\\0'; strcat(sz_Msg2Snd, \ strcat(sz_Msg2Snd,FileName); //向服务器发送get命令

ret = send(h_Socket4Cmd, sz_Msg2Snd, strlen(sz_Msg2Snd)+1, 0); if (ret == 0) return 1;

else if (ret == SOCKET_ERROR) {

printf(\ return 1; }

printf(\ ret = recv(h_Socket4Cmd, szBuffer, 80, 0); szBuffer[ret] = '\\0'; printf(\

//判断服务器是否在发送文件,若在发送则读取并保存到本地文件。 if(strncmp( szBuffer,\ {

if( (fpre=fopen(FileName,\打开文件准备写入 { printf(\ return 1; }

while(!b_IsSendOnly)

{ //读取流,每次80个字节

ret = recv(h_Socket4Cmd, szBuffer, 80, 0); if (ret == 0) return 1; else if (ret == SOCKET_ERROR)

{ printf(\ return 1; }

//读取流中是有传输结束标志,停止接收

if(strncmp(szBuffer,\ if(strncmp(szBuffer,\ { //判断读取流中是否有通信错误提示 break; }

if(-1 == fprintf(fpre,\ //将读取的数据写入到文件

printf(\

}

fclose(fpre);

printf(\

} return 0; }

/*********************************************************************** 函数名:putfun

说明: 按协议规则构建文件上传命令并发送到服务器

输入参数: SOCKET h_Socket4Cmd,通过此socket发送命令到服务器。 char FileName[40], 欲上传文件的文件名

***********************************************************************/ int putfun(SOCKET h_Socket4Cmd,char FileName[40]) {

Printf(“篇幅所限,请读者完成。\\n”); iSynError=0; return 0; }

/*********************************************************************** 函数名:pwdfun

说明: 按协议规则构建文件当前路径查询命令并发送到服务器

**********************************************************************/ int pwdfun(SOCKET h_Socket4Cmd) {

Printf(“篇幅所限,请读者完成。\\n”); iSynError=0; return 0; }

/*********************************************************************** 函数名:cdfun

说明: 按协议规则构建文件当前路径设置命令并发送到服务器

输入参数: SOCKET h_Socket4Cmd,通过此socket发送命令到服务器。 char pathname[40], 欲设置的路径名

***********************************************************************/ int cdfun(SOCKET h_Socket4Cmd,char pathname[40]) {

Printf(“篇幅所限,请读者完成。\\n”); iSynError=0; return 0; }

/*********************************************************************** 函数名:mdfun

说明: 按协议规则构建文件夹新建命令并发送到服务器

输入参数: SOCKET h_Socket4Cmd,通过此socket发送命令到服务器。 char DocName[40], 欲设新建的文件夹名

***********************************************************************/ int mdfun(SOCKET h_Socket4Cmd,char DocName[20]) {

Printf(“篇幅所限,请读者完成。\\n”); iSynError=0; return 0; }

/*********************************************************************** 函数名:delfun

说明: 按协议规则构建文件删除命令并发送到服务器

输入参数: SOCKET h_Socket4Cmd,通过此socket发送命令到服务器。 char FileName[40], 欲设新建的文件夹名

**********************************************************************/ int delfun(SOCKET h_Socket4Cmd,char FileName[20]) {

Printf(“篇幅所限,请读者完成。\\n”); iSynError=0; return 0; }

/*********************************************************************** 函数名:delfun

说明: 帮助函数,按?号回车,则列出命令列表

**********************************************************************/ int helpfun( ) {

puts(\ puts(\:取远方的一个文件\