⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testftpdaemon.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "stdafx.h"#include <iostream>#include "WarLog.h"#include "WarLogIOStreamHandler.h"#include "WarSvrEngine.h"#include "WarSvrDefinitionFtp.h"#include "WarSvrProtocolFtp.h"#include "WarSocketEngine.h"#include "WarSvrWin32NtEngine.h"#include "WarFileEngine.h"#include "WarFileDriverWin32.h"#include "WarUserAuthWin32Nt.h"#include "WarOs.h"using namespace std;void TestFtpDaemon(){    // Enable Operating system information    WarOs my_os;    // Enable logging    WarLogEngine log_engine;    log_engine.InstallHandler(new WarLogIoStreamHandler(cout, "cout"));    cout << "Testing FTP server" << endl;      // Enable debug events we want to view    log_engine.EnableEvent("cout", WARLOG_FILES);    log_engine.EnableEvent("cout", WARLOG_DEBUG);    log_engine.EnableEvent("cout", WARLOG_SOCKET);    log_engine.EnableEvent("cout", WARLOG_THREADS);        // Enable use of WarFile    WarFileEngine file_engine;        // Install "file://" driver for Win32    file_engine.AttachDriver(new WarFileDriverWin32);         // Enable sockets    WarSocketEngine socket_engine;    // Enable NT optimized IO    WarSvrWin32NtEngine win32nt_engine;    win32nt_engine.Create(2);    // Get a 'inetd' thing    WarSvrEngine my_svr;    // Add a FTP server that listen to all IP addresses at port 10    WarSvrDefinitionFtp *pFtpDef = new WarSvrDefinitionFtp(string("*:10"));        // Install a root-path        pFtpDef->mProperties.mPaths.insert(WarSvrPath("/", "file:///C:\\ftptest\\root", WarSvrEnums::DEFAULT_PERMS));        // Install a few other paths        pFtpDef->mProperties.mPaths.insert(WarSvrPath("/home", "file:///C:\\ftptest\\users", WarSvrEnums::DEFAULT_PERMS));        pFtpDef->mProperties.mPaths.insert(WarSvrPath("/pub", "file:///\\\\war\\ftp\\pub", WarSvrEnums::DEFAULT_PERMS));        pFtpDef->mProperties.mPaths.insert(WarSvrPath("/pub/unsupported/mp3", "file:///M:\\.2\\pub\\mp3", WarSvrEnums::DEFAULT_PERMS));    my_svr.AddServer(pFtpDef);    // Add NT user authentication    my_svr.GetAuth().AddAuthModule(war_auth_ptr_t(new WarUserAuthWin32Nt));    // start the FTP server.    my_svr.StartServer();    while(!my_svr.IsDone())        WarTime::Sleep(1000);};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -