• 大小: 2.87MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-30
  • 语言: C/C++
  • 标签: socket  农大  c++  

资源简介

自己编写的FTP程序,能够列表,上传,下载文本文件,下载二进制文件会有问题。 具体可看内部文档,也是我的实验报告 注释很多,只要了解FTP工作原理很容易就能看懂 操作环境VS2005,经验证2008也可以正常工作,但不保证低版本可行 使用SOCKET实现,文档中也有详细的说明,关于更多的细节网上可以找到

资源截图

代码片段和文件信息

#pragma comment(lib“ws2_32“)
#include
#include
#include
#include
#include
#include
#include“ftpClient.h“
using namespace std;
#define MENU “Welcome To The FTP ServerPlease Input The Command And Enter!Such as: LISTCWDRETRSTORDELERMDMKD“
int main()
{
char* Direct = new char[256];
memset(DirectNULL256);
Direct[1] = ‘/‘;
int returnNum;
char ip[15];
int port;
char test;
char *userName = new char[50];
memset(userNameNULL50);
memcpy(userName“Anonymous“strlen(“Anonymous“));
char PWD[50];
char temp[512];
char Command[4];
char Parameter[256];
cout<<“Please input the ip of the FTP server::“;
cin>>ip;
cout<<“Do you want to change the portNow the port is 21 :[Y/N]“;
cin>>test;
if(test==‘Y‘||test==‘y‘)
{
cout<<“Please input the num of the port::“;
cin>>temp;
port = (temp[0] - ‘0‘)*10+(temp[1] - ‘0‘);
memset(tempNULL2);
}
else if (test==‘N‘||test==‘n‘)
port = 21;
else 
cout<<“Error“< /************************************
用户登录模块
************************************/
ftpClient* client = new ftpClient(ipport);
cout<<“Do you want to change USERNAMENow is anonymous:[Y/N]“;
cin>>test;
if(test==‘Y‘||test==‘y‘)
{
cout<<“UserName::“;
cin>>userName;
}
else if (test==‘N‘||test==‘n‘)
cout<<“UserName::Anonymous“< else 
cout<<“Error Check input!“< client->setCommand(“USER “userName);
cout< client->sendCommand();
returnNum = client->receiveCommand();
if(returnNum == 331)
{
cout<<“PassWord::“;
cin>>PWD;
client->setCommand(“PASS “PWD);
client->sendCommand();
returnNum = client->receiveCommand();
if(returnNum == 230)
{
while(1)
{
cout< cout<<“FTP::>“;
cin>>Command;
if(strcmp(Command“list“)==0||strcmp(Command“LIST“)==0)
{
/************************************
连接控制传输控制,命令传输(需使用
socketData连接的命令,如:LIST)
************************************/
client->setCommand(“PASV“);
client->sendCommand();
client->receiveCommand();
client->getPort();
client->setCommand(“TYPE ““A“);
client->sendCommand();
client->receiveCommand();
client->interlizeDataSocket();
client->setCommand(“LIST “Direct);
cout< client->sendCommand();
client->receiveCommand();
client->receiveList();
client->receiveCommand();
}
else if(strcmp(Command“CWD“)==0||strcmp(Command“cwd“)==0)
{
memset(DirectNULL512);
cout<<“Plase input the direct of your will(compelity Direct)::“< cin>>Direct;
if(memcmp(Direct“/“1)!=0)
{
memset(tempNULL512);
memcpy(temp“/“strlen(“/“));
memcpy(temp+strlen(“/“)Directstrlen(Direct));
memcpy(Directtempstrlen(temp));
}
client->setCommand(“CWD “Direct);
client->sendCommand();

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

     文件     176128  2009-07-17 00:33  FTP程序\ftpClient\debug\ftpClient.exe

     目录          0  2009-07-17 02:57  FTP程序\ftpClient\debug

     文件       6070  2009-07-17 00:33  FTP程序\ftpClient\ftpClient\Debug\BuildLog.htm

     文件        145  2009-07-17 00:33  FTP程序\ftpClient\ftpClient\Debug\ftpClient.exe.intermediate.manifest

     文件     229529  2009-07-17 00:33  FTP程序\ftpClient\ftpClient\Debug\ftpClient.obj

     文件     131080  2009-07-12 21:48  FTP程序\ftpClient\ftpClient\Debug\ftpServer.obj

     文件         67  2009-07-17 00:33  FTP程序\ftpClient\ftpClient\Debug\mt.dep

     文件     306176  2009-07-17 00:33  FTP程序\ftpClient\ftpClient\Debug\vc80.idb

     目录          0  2009-07-17 02:57  FTP程序\ftpClient\ftpClient\Debug

     文件      14042  2009-07-17 00:35  FTP程序\ftpClient\ftpClient\ftpClient.cpp

     文件       7599  2009-07-17 00:33  FTP程序\ftpClient\ftpClient\ftpClient.h

     文件       3136  2009-07-13 14:05  FTP程序\ftpClient\ftpClient\ftpClient.vcproj

     文件       1413  2009-07-17 02:56  FTP程序\ftpClient\ftpClient\ftpClient.vcproj.THINKPAD.IBM.user

     文件        813  2009-01-03 12:55  FTP程序\ftpClient\ftpClient\pipe.txt

     目录          0  2009-07-17 15:13  FTP程序\ftpClient\ftpClient

     文件   11029504  2009-07-17 02:56  FTP程序\ftpClient\ftpClient.ncb

     文件        892  2009-07-09 21:31  FTP程序\ftpClient\ftpClient.sln

    ..A..H.     14848  2009-07-17 02:56  FTP程序\ftpClient\ftpClient.suo

     文件        813  2009-01-03 12:55  FTP程序\ftpClient\pipe.txt

     目录          0  2009-07-17 15:13  FTP程序\ftpClient

     文件     655872  2009-07-19 21:56  FTP程序\计算机网络课程设1.doc

     目录          0  2009-07-19 21:56  FTP程序

----------- ---------  ---------- -----  ----

             12578127                    22


评论

共有 条评论