资源简介
简易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个文件信息
- 上一篇:基于C语言实现的贪吃蛇
- 下一篇:VC++源码字识别系统
评论
共有 条评论