基本信息
源码名称:c++ ftp 例子源码下载
源码大小:0.01M
文件格式:.rar
开发语言:C/C++
更新时间:2015-03-05
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 1 元×
微信扫码支付:1 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
FTP(File Transfer Protocol)协议主要用来在网络上进行文件传输。FTP通讯除了有一个默认的端口21外,还有其他端口,同城两个端口同时进行数据传输。一个是默认的端口(通常为21),主要进行控制连接,即进行命令协议及服务器端响应码的传输。另一个非标准端口主要进行数据,上传下载文件等。
// FtpThread.cpp : implementation file // #include "stdafx.h" #include "ftptest.h" #include "FtpThread.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CFtpThread IMPLEMENT_DYNCREATE(CFtpThread, CWinThread) CFtpThread::CFtpThread() { } CFtpThread::~CFtpThread() { } BOOL CFtpThread::InitInstance() { // TODO: perform and per-thread initialization here return TRUE; } int CFtpThread::ExitInstance() { // TODO: perform any per-thread cleanup here return CWinThread::ExitInstance(); } UINT CFtpThread::PutFile(LPVOID lpStatus) { BOOL bSuccess = FALSE; int *pnFileStatus; CInternetSession *pInetsession; CFtpConnection *pFtpConnection = NULL; pnFileStatus = (int *)lpStatus; *pnFileStatus = 0; pInetsession = new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS); try { pFtpConnection = pInetsession->GetFtpConnection("192.0.5.227","anonymous"); TRACE("start建立"); } catch (CInternetException *pEx) { TRACE("error建立"); pEx->Delete(); pFtpConnection = NULL; *pnFileStatus = 1; goto BallOut; } *pnFileStatus = 1; // pFtpConnection->Remove("test.txt"); /* if (!pFtpConnection->PutFile(_T("C:\\Documents and Settings\\zhangrl\\桌面\\test.txt"),_T("\\share\\ftproot\\test222.txt"))) { *pnFileStatus = 2; } else { *pnFileStatus = 2; }*/ bSuccess = pFtpConnection->GetFile(_T("刘德华-情义俩心坚MTV.WMV"),_T("C:\\Documents and Settings\\zhangrl\\桌面\\刘德华-情义俩心坚MTV.WMV")); if (!bSuccess) { TRACE("failed"); *pnFileStatus = 2; } else { *pnFileStatus = 2; } BallOut: if (pFtpConnection != NULL) { pFtpConnection->Close(); delete pFtpConnection; } delete pInetsession; AfxEndThread(0); return FALSE; } BEGIN_MESSAGE_MAP(CFtpThread, CWinThread) //{{AFX_MSG_MAP(CFtpThread) // NOTE - the ClassWizard will add and remove mapping macros here. //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CFtpThread message handlers