• 大小: 42KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: C/C++
  • 标签: FTPC++MFC  

资源简介

简易FTP服务/客户端,采用了多线程、消息驱动等先进的机制。具备常见FTP服务/客户端功能,而且实现多用户、多服务器、日志系统等高级功能。

资源截图

代码片段和文件信息

/*/////////////////////////////////////////////////////////////////////
FTPclient.cpp (c) GDI 1999
V1.0.0 (10/4/99)
Phil Anderson. philip@gd-ind.com
Download by http://www.codefans.net
Simple FTP client functionality. If you have any problems with it
please tell me about them (or better still e-mail me the fixed
code). Please feel free to use this code however you wish although
if you make changes please put your name in the source & comment what
you did.

Nothing awesome going on here at all (all sockets are used in
synchronous blocking mode) but it does the following
things WinInet doesn‘t seem to:
* Supports loads of different firewalls (I think I don‘t
  have access to all types so they haven‘t all been fully
  tested yet)
* Allows you to execute any command on the FTP server
* Adds 10K to your app install rather than 1Mb #;-)

Functions return TRUE if everything went OK FALSE if there was an
error. A message describing the outcome (normally the one returned
from the server) will be in m_retmsg on return from the function.
There are a few error msgs in the app‘s string table that you‘ll
need to paste into your app along with this file & FTPclient.h

If you created your app without checking the “Use Windows Sockets“
checkbox in AppWizard you‘ll need to add the following bit of code
to you app‘s InitInstance()

if(!AfxSocketInit())
{
AfxMessageBox(“Could not initialize Windows Sockets!“);
return FALSE;
}

To use:

1/ Create an object of CFTPclient.

2/ Use LogOnToServer() to connect to the server. Any arguments
not used (e.g. if you‘re not using a firewall) pass an empty
string or zero for numeric args. You must pass a server port
number use the FTP default of 21 if you don‘t know what it is.

3/ Use MoveFile() to upload/download a file 1st arg is local file
path 2nd arg is remote file path 3rd arg is TRUE for a PASV
connection (required by some firewalls) FALSE otherwise 4th arg
is TRUE to upload FALSE to download file. MoveFile only works in
synchronous mode (ie the function will not return ‘till the transfer
is finished). File transfers are always of type BINARY.

4/ You can use FTPcommand() to execute FTP commands (eg
FTPcommand(“CWD /home/mydir“) to change directory on the server)
note that this function will return FALSE unless the server response
is a 200 series code. This should work fine for most FTP commands 
otherwise you can use WriteStr() and ReadStr() to send commands & 
interpret the response yourself. Use LogOffServer() to disconnect
when done.

/////////////////////////////////////////////////////////////////////*/


#include “stdafx.h“
#include “FTPSOCKET.h“
#include “FTPClass.h“


#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
/////////////////////////////////////////////////////////////

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

    .CA...R     13665  2010-05-24 10:17  FtpProg\FTP客户端\FTPClass.cpp

    .CA...R      1279  2002-08-07 00:48  FtpProg\FTP客户端\FTPClass.h

    .CA...R     22672  2002-11-20 11:51  FtpProg\FTP客户端\FTPSOCKET.APS

    .CA...R      1898  2002-11-20 11:51  FtpProg\FTP客户端\FTPSOCKET.clw

    .CA...R      2235  2010-05-24 10:17  FtpProg\FTP客户端\FTPSOCKET.cpp

    .CA...R      4469  2002-08-07 00:59  FtpProg\FTP客户端\FTPSOCKET.dsp

    .CA...R       543  2002-08-06 13:24  FtpProg\FTP客户端\FTPSOCKET.dsw

    .CA...R      1357  2002-08-06 13:24  FtpProg\FTP客户端\FTPSOCKET.h

    .CA...R      6991  2002-08-08 20:58  FtpProg\FTP客户端\FTPSOCKET.rc

    .CA....     18221  2010-05-24 10:18  FtpProg\FTP客户端\FTPSOCKETDlg.cpp

    .CA...R      3565  2002-08-08 21:23  FtpProg\FTP客户端\FTPSOCKETDlg.h

    .CA...R      1650  2010-05-24 10:17  FtpProg\FTP客户端\ListItem.cpp

    .CA...R       691  2002-03-19 16:53  FtpProg\FTP客户端\ListItem.h

    .CA...R      3633  2002-08-06 13:24  FtpProg\FTP客户端\ReadMe.txt

    .CA...R      1078  2002-08-06 13:24  FtpProg\FTP客户端\res\FTPSOCKET.ico

    .CA...R       401  2002-08-06 13:24  FtpProg\FTP客户端\res\FTPSOCKET.rc2

    .CA...R      1462  2002-08-08 20:58  FtpProg\FTP客户端\Resource.h

    .CA...R       211  2002-08-06 13:24  FtpProg\FTP客户端\StdAfx.cpp

    .CA...R      1108  2002-08-06 19:04  FtpProg\FTP客户端\StdAfx.h

    .CA....     28636  2010-05-24 10:17  FtpProg\FTP服务器\Mini FtpServer.cpp

    .CA...R      4667  2002-06-15 14:06  FtpProg\FTP服务器\Mini FtpServer.dsp

    .CA...R       553  2002-06-15 17:27  FtpProg\FTP服务器\Mini FtpServer.dsw

    .CA...R      1256  2002-06-10 15:52  FtpProg\FTP服务器\ReadMe.txt

    .CA...R       301  2002-06-10 15:52  FtpProg\FTP服务器\StdAfx.cpp

    .CA...R       730  2002-06-10 15:54  FtpProg\FTP服务器\StdAfx.h

    .CA...R        83  2002-06-17 17:25  FtpProg\FTP服务器\说明.txt

    .C.D...         0  2010-05-21 09:24  FtpProg\FTP客户端\res

    .C.D...         0  2010-05-28 21:30  FtpProg\FTP客户端

    .C.D...         0  2010-05-28 21:30  FtpProg\FTP服务器

    .C.D...         0  2010-05-28 21:30  FtpProg

............此处省略3个文件信息

评论

共有 条评论

相关资源