资源简介
用MFC实现的FTP断点上传与下载的程序,可以正常运行,无论是学习还是拿到项目中使用都很好!
代码片段和文件信息
//---------------------------------------------------------------------------
#include sepch.h>
#pragma hdrstop
#include “MultiFtp.h“
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
static inline void ValidCtrCheck(TMultiFtp *)
{
new TMultiFtp(NULL);
}
//---------------------------------------------------------------------------
__fastcall TMultiFtp::TMultiFtp(TComponent* Owner)
: TComponent(Owner)
{
lock = false;
isUseFile = false;
runningThreadCnt = 0;
stop = false;
this->Owner = Owner;
}
__fastcall TMultiFtp::~TMultiFtp()
{
fclose(this->globalFile);
if(this->inforImpl.fromToImpl)
delete[] this->inforImpl.fromToImpl;
}
//---------------------------------------------------------------------------
namespace Multiftp
{
void __fastcall PACKAGE Register()
{
TComponentClass classes[1] = {__classid(TMultiFtp)};
RegisterComponents(“System“ classes 0);
}
}
//---------------------------------------------------------------------------
void __fastcall TMultiFtp::FreeMemory()
{
if(this->globalFile)
fclose(this->globalFile);
if(this->inforImpl.fromToImpl)
delete[] this->inforImpl.fromToImpl;
}
SOCKET __fastcall TMultiFtp::ConnectFtp(String host int port String userName String pass)
{
this->DoOnTextOut(“欢迎使用funinhand多线程,断点续传软件!!“);
MultiThreadDealSocket *dealSocket = new MultiThreadDealSocket();
SOCKET client = dealSocket->GetConnect(hostport);
char * buffer = new char[100];
int recLen ;
recLen = recv(clientbuffer1000);
buffer[recLen]=0;
if(client == NULL)
{
this->DoOnException(“连接ftp服务器失败!“);
delete[] buffer;
return NULL;
}
this->DoOnTextOut(“连接ftp服务器成功!“);
String user = “USER “+userName+“ \r\n“;
this->DoOnTextOut(user);
send(clientuser.c_str()user.Length()0);
recLen = recv(clientbuffer1000);
buffer[recLen]=0;
if(GetCode(buffer) == “331“)
{
this->DoOnTextOut(“服务器要求验证密码。“);
String password = “PASS “+pass+“ \r\n“;
this->DoOnTextOut(password);
send(clientpassword.c_str()password.Length()0);
recLen = recv(clientbuffer1000);
buffer[recLen]=0;
int tryTimes = 3;
while(GetCode(buffer) != “230“ && tryTimes > 0)
{
send(clientpassword.c_str()password.Length()0);
recLen = recv(clientbuffer1000);
buffer[recLen]=0;
tryTimes --;
this->DoOnTextOut(“第“+IntToStr(3-tryTimes)+“尝试“);
}
if(tryTimes < 0)
{
this->DoOnException(userName +“登录失败!“);
delete[] buffer;
return NULL;
}
else
this->
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 22242 2005-01-14 20:02 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtp.cpp
文件 4585 2005-01-14 14:45 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtp.h
文件 85777 2005-01-14 20:02 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtp.obj
文件 22093 2005-01-14 20:00 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtp.~cpp
文件 4585 2005-01-14 14:45 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtp.~h
文件 7518 2005-01-14 19:34 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtpDownloadThread.cpp
文件 2203 2005-01-13 17:19 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtpDownloadThread.h
文件 45660 2005-01-14 19:34 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtpDownloadThread.obj
文件 7513 2005-01-14 19:32 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtpDownloadThread.~cpp
文件 2203 2005-01-13 17:19 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiFtpDownloadThread.~h
文件 332 2005-01-12 11:08 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDataClass.cpp
文件 666 2005-01-13 10:53 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDataClass.h
文件 12606 2005-01-13 10:53 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDataClass.obj
文件 332 2005-01-12 11:08 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDataClass.~cpp
文件 424 2005-01-12 11:54 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDataClass.~h
文件 2528 2005-01-12 10:35 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDealScoket.cpp
文件 532 2005-01-12 10:34 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDealScoket.h
文件 114150 2005-01-12 14:58 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDealScoket.obj
文件 1467 2005-01-12 10:32 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDealScoket.~cpp
文件 443 2005-01-12 10:33 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\MultiThreadDealScoket.~h
文件 155 2007-08-20 23:31 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project\龙腾教程网--软件教程 电脑教程 设计教程.url
目录 0 2006-04-10 16:42 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\project
文件 155 2007-08-20 23:31 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传\龙腾教程网--软件教程 电脑教程 设计教程.url
目录 0 2006-04-10 16:42 ftp协议实现多线程断点续传\200641016517684\ftp协议实现多线程断点续传
文件 155 2007-08-20 23:31 ftp协议实现多线程断点续传\200641016517684\龙腾教程网--软件教程 电脑教程 设计教程.url
目录 0 2006-04-25 22:04 ftp协议实现多线程断点续传\200641016517684
目录 0 2007-09-05 23:32 ftp协议实现多线程断点续传
----------- --------- ---------- ----- ----
338324 27
............此处省略0个文件信息
- 上一篇:mfc生成excel-pdf图表
- 下一篇:图像处理-读取bmp图像均值滤波-C++
相关资源
- c语言模拟ftp项目
- 远程控制源代码(纯C)
- Linux下C语言实现的FTP系统
- linux下FTP服务器与客户端的C语言实现
- VC++(MFC)实现FTP功能(源代码)
- ftp客户端的C语言实现
- 简单的Linux下Ftp客户端C语言编写
- ftp的C++源码实现,可以进行文件传输
- vc++FTP搜索工具()
- C++实现的FTP服务器
- 一个FTP客户端的设计与实现C实现
- unix 下实现ftp部分功能lsgetput等等
- linux ftp服务器
- C++、SOAP实现调用webservice接口,上传文
- 基于MFC实现的FTP断点续传客户端
- C语言实现FTP服务器
- 用c语言编程ftp程序,并实现基本功能
- 基于CCS和ICETEK5509实验箱FFT算法的C语言
- FTP服务器C++代码实现
- VC++ 实现将本地文件通过HTTP上传到网
- c++实现ftp list所有文件与目录 & ftp d
- C语言实现高并发http文件上传服务器
- tftp_vs2010.rar
- FTP客户端程序设计(基于visual c++)
- VC++ 实现FTP客户端与服务器
- Ftp服务器与客户端VC++完整版源码
- FTP文件上传和管理类C++
- Linux下C语言编写服务端、客户端程序
- http上传C++代码实现
- 上传的p2p技术C语言源码
评论
共有 条评论