FTP服务器源代码实现

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:
};
rar 文件大小:113.55KB