FTP 服务器端,可用作小型FTP服务器.C++ 编写,在VC++下编译,工程文档齐全,直接打开即可编译。
class CFtpd : public CSocket
{
// Attributes
public:
// Operations
public:
CFtpd();
virtual ~CFtpd();
// Overrides
public:
char userfile[256];
char ipfile[256];
int m_buf_length;
CCriticalSection absCrit;
bool m_specify_data_port;
UINT m_port_from;
UINT m_port_to;
void RemoveClient(CFtpdPi *pBind);
void AddClient(CFtpdPi* pBind);
UINT m_port;
DWORD* lpDW2;
DWORD* lpDW;
LPHOSTENT lpHostEnt;
char HostName[100];
unsigned long IP;
char sTmp[32];
int i;
CString Citem;
int result;
// SECFileSystem fs;
char buf[256];
char tmp[32];
BOOL allow;
POSITION pos;
CString CSIP;
int sl;
// int m_kbs;
bool b_speed_limit_in;
bool b_speed_limit_out;
int default_speed_in;
int default_speed_out;
char m_root_dir[256];
bool b_auto_choose_ip;
bool b_switch_pasv_ip;
bool b_ipchk_pasv;
bool b_ipchk;
CString m_servername;
DWORD dwNumIf;
DWORD GetLocalNumericIP(int Index);
CStringList ipList;
CFtpdPi* ftpdbindsock;
CList ClientList;
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFtpd)
public:
virtual void OnAccept(int nErrorCode);
virtual void OnClose(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CFtpd)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
};
1