• 大小: 3.13MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-15
  • 语言: C/C++
  • 标签: FTP  客户端  winsock  

资源简介

这个课程设计是基于winsock接口并且使用C++语言编写实现FTP客户端,包含论文,直接在VC6.0++就可以打开。

资源截图

代码片段和文件信息

#include “Winsock.h“
#include “windows.h“
#include “stdio.h“
#include “time.h“
#include 
#define RECV_PORT 2000
#pragma   comment(lib “wsock32.lib“)
SOCKET sock;
char filename[20];      //传送文件名
sockaddr_in ServerAddr;
char rbuff[1024];       //接收缓冲
char sbuff[1024];       //发送缓冲
char IP[20];            //目的ip 

//处理help命令
void help()

 cout<<“#################菜单帮助(输入以下命令)###############“<  <<“   ?或者‘help‘...........显示你提供的所有命令       “<  <<“   dir...................显示当前目录的文件     “<  <<“   cd....................改变当前目录和路径     “<  <<“   down...................下载(接受)文件           “<  <<“   up..................上传(发送)文件           “<  <<“   exit...................退出                    “<  <<“#############################################################“<}

//处理dir命令
void list(SOCKET sockfd)
{
 int nRead;
 while(true)
 {
  nRead=recv(sockrbuff10240);
  if(nRead==SOCKET_ERROR)
  {
   printf(“read response error!\n“);
   exit(1);
  }
  if(nRead==0)//数据读取结束
   break;
  //显示数据
  rbuff[nRead]=‘\0‘;
  printf(“%s“rbuff);
 }
 
}


int SendFile(SOCKET socksendFILE* file)
{
 printf(“sending file data..“);

 for(;;)
 //从文件中循环读取数据并发送客户端
 {
  int r=fread(sbuff11024file);
  if(send(socksendsbuffr0)==SOCKET_ERROR)
  {
   printf(“lost the connection to client!\n“);
   closesocket(socksend);
   return 0;
  }
  if(r<1024)//文件传送结束
   break;
 }
 closesocket(socksend);
 printf(“done\n“);
 return 1;
}

//初始化scoket

DWORD StartSock()
{WSADATA WSAData;
char a[20];
memset(a020);
if(WSAStartup(MAKEWORD(22)&WSAData)!=0)
{printf(“sock init fail!\n“);
return (-1);
}
if(strncmp(IPa20)==0){
printf(“请输入服务器IP:“);
scanf(“%s“&IP);}

ServerAddr.sin_family=AF_INET;
ServerAddr.sin_addr.s_addr=inet_addr(IP);
ServerAddr.sin_port=htons(RECV_PORT);
return(1);
}


//创建套接字

DWORD CreateSocket()
{
sock=socket(AF_INETSOCK_STREAM0);
if(sock==SOCKET_ERROR)
{printf(“sock create fail! \n“);
WSACleanup();
return(-1);
}
return(1);
}

//发送连接请求

DWORD CallServer()   {
CreateSocket();
if (connect(sock(struct sockaddr *)&ServerAddrsizeof(ServerAddr))==SOCKET_ERROR)
{
printf(“Connect fail \n“);
memset(IP020);
return(-1);
}
return(1);
}

  //发送命令

DWORD TCPSend(char data[])      {
int length;
length=send(sockdatastrlen(data)0);
if(length<=0)
{
printf(“send data error ! \n“);
closesocket(sock);
WSACleanup();
return(-1);
}
return(1);
}

//主程序

int main()
{char order1[10];               //一级指令
 char order2[20];               //二级指令
 char order[30];                //指令
 order[0]=‘\0‘;
char buff[80];          // 发送缓冲
FILE *fd;                   //发送文件
FILE *fd2;                  // 接收文件
int count;                  //接收文件计数

int sin_size=sizeof(ServerAddr);

StartSock();
if(CallServer()==-1) return main();
printf(“connect ok! \n“);
 
pri

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     858112  2012-03-10 00:30  0900370205龙海娟\课设说明文档.doc

     文件     135278  2012-03-06 22:07  0900370205龙海娟\源程序\ftp服务端\abc.txt

     文件       5002  2011-01-15 14:34  0900370205龙海娟\源程序\ftp服务端\server.cpp

     文件       3401  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\server.dsp

     文件        520  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\server.dsw

     文件      50176  2012-03-09 23:57  0900370205龙海娟\源程序\ftp服务端\server.ncb

     文件      48640  2012-03-09 23:57  0900370205龙海娟\源程序\ftp服务端\server.opt

     文件        748  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\server.plg

     文件      29476  2011-01-15 10:02  0900370205龙海娟\源程序\ftp服务端\Debug\client.obj

     文件     184449  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\Debug\server.exe

     文件     208008  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\Debug\server.ilk

     文件      25571  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\Debug\server.obj

     文件    3568124  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\Debug\server.pch

     文件     476160  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\Debug\server.pdb

     文件     230400  2012-03-09 23:57  0900370205龙海娟\源程序\ftp服务端\Debug\vc60.idb

     文件      86016  2012-03-09 22:44  0900370205龙海娟\源程序\ftp服务端\Debug\vc60.pdb

     目录          0  2012-03-10 00:35  0900370205龙海娟\源程序\ftp服务端\Debug

     目录          0  2012-03-10 00:35  0900370205龙海娟\源程序\ftp服务端

     文件     142661  2012-03-09 22:48  0900370205龙海娟\源程序\ftp客户端\2.jpg

     文件       4841  2012-03-09 21:40  0900370205龙海娟\源程序\ftp客户端\client.cpp

     文件       3401  2011-01-15 19:09  0900370205龙海娟\源程序\ftp客户端\client.dsp

     文件        518  2011-01-15 19:09  0900370205龙海娟\源程序\ftp客户端\client.dsw

     文件      50176  2012-03-10 00:30  0900370205龙海娟\源程序\ftp客户端\client.ncb

     文件      48640  2012-03-10 00:30  0900370205龙海娟\源程序\ftp客户端\client.opt

     文件       1201  2012-03-09 22:32  0900370205龙海娟\源程序\ftp客户端\client.plg

     文件     225401  2012-03-09 22:32  0900370205龙海娟\源程序\ftp客户端\Debug\client.exe

     文件     266392  2012-03-09 22:32  0900370205龙海娟\源程序\ftp客户端\Debug\client.ilk

     文件      29704  2012-03-09 22:32  0900370205龙海娟\源程序\ftp客户端\Debug\client.obj

     文件    3633436  2012-03-09 22:32  0900370205龙海娟\源程序\ftp客户端\Debug\client.pch

     文件     574464  2012-03-09 22:32  0900370205龙海娟\源程序\ftp客户端\Debug\client.pdb

............此处省略9个文件信息

评论

共有 条评论