发布时间 : 星期二 文章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(\:取远方的一个文件\