资源简介
用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++
相关资源
- 合泰触摸单片机BS84B08C实际应用代码上
- FTP客户端源码(c++)
- ftp工具代码
- c++实现的文件上传服务器
- VC++完整商业界面源码(再上传)
- 用C++写的FTP客户端
- 网络编程MFC 实验四 FTP客户端功能实现
- MFC 实现FTP客户端的上传断点续传
- 计算机网络课程实验:FTP协议的实现
- C++ FTP 源码
- FTP客户端VC实现
- C++做的Ftp服务器
- c++ ftp文件传输
- MFC实现FTP上传文件的客户端和服务器
- 课设FTPwinsock
- FTP客户端基本功能C++
- VC++ ftp 服务器客户端毕业设计源码
- FTP客户端与服务器的MFC实现
- 计算机网络课程设计农大socket实现F
- C语言实现基于winsock的ftp客户端程序
- 支持多线程和断点续传的FTP客户端
- 用VC++写的小型FTP服务器源代码
- c语言实现ftp文件传输
- C++FTP服务端客户端
- 基于MFC的ftp客户端
- c++FTP上传程序源代码
- Qt5.11.1+VS2017 X64 C++动态编译 串口通讯
- FTP服务器MFC源码
- vc++使用libcurl文件,支持断点续传,支
- FTP多线程服务器源码
评论
共有 条评论