崬城衞 发表于 2015-5-26 10:52:38

socket编程FTP客户端demo

  这是计算机网络课程设计的作品,简单实现了FTP客户端。
  用winsock2头文件。算是socket编程的学习实践。
  所有代码在vc6.0下调试通过。
/*
*本程序参考rfc959标准。能与遵守此标准的服务器进行信息交互。仅限于windows系统。
*/
#include < stdio.h >
#include < string.h >
#include < stdlib.h >/*system()*/
#include < winsock2.h >
#pragma comment(lib, &quot;ws2_32.lib&quot;)
#define ONUM 512
#define MNUM 512
#define FNUM 512
#define ptstruct host {
char ip;
unsigned short port;
};
SOCKET ts;
fd_set readfds;
struct timeval timeval;
struct host host;
char renum;
char ordertemp;
char order;
char ordercp;
char mess;
char file;
char setpath;
char setpathf;
int i, door, r, sys, seti;/*i for;door switch;r receive num;sys system state;set set state*/
char * p;/*strtok*/
int printmess();
void input(char ordertemp[]);
int ftp();
int user();
int pass();
int command();
int list();
SOCKET createDataSocket();
int set();
int retr();
int stor();
int stor()
{
char filename;
SOCKET ds;
int wi;
int r2, r3, r4, bsnum, brnum;
FILE * fp = NULL;
set();
memset(filename, '\0', 256);
memset(order, '\0', ONUM);
for (i = 5; ibsnum);
}/*while*/
printf(&quot;\n&quot;);
switch (printmess())
{
case 425:
case 426:
case 451:
case 551:
case 552:
closesocket(ds);
fclose(fp);
return - 1;
case 250:
case 226:
fclose(fp);
return 0;
default:
return 0;
}
}/*stor*/
int retr()
{
char filename;
unsigned long fsize, wfsize;
int r2, wi;
SOCKET ds;
FILE * fp = NULL;
memset(filename, '\0', 256);
memset(order, '\0', ONUM);
for (i = 5; i
页: [1]
查看完整版本: socket编程FTP客户端demo