外国人写的ftp服务器代码

  • 软件类别: 网络编程
  • 软件大小: 165KB
  • 运行环境: windows
  • 软件等级: ★★★
  • 演示:
  • 缩略图:
  • 下载次数: 815

软件介绍

它可以同时接受多个ftp连接(多线程)并具有大部分的一些商业ftp服务器的功能。服务器支持所有基本的ftp命令并提供给用户简单的管理接口,支持虚拟目录。

下面是对代码中重点类的描述:

CFTPServer
CFTPServer类是实际上的ftp服务器,它控制着所有其他的为服务器工作的类。尽管CFTPServer是一个基于对话框的程序,但是它并不依赖于UI,所以也可以用于一个服务程序或console程序。

CFTPEventSink
CFTPEventSink类用来“发送”CFTPServer类的事件给主程序,我使用了多继承和虚拟函数。CFTPEventSink类只是一个辅助类,只包括了一些虚拟函数。当你的类继承于CFTPEventSink类时,这些虚拟函数将代表一系列的事件。CFTPServer类需要发送消息通知主程序时,要调用这些函数。

怎样在你的程序中使用CFTPServer类:
1.在工程中加入类的文件。
2.你的主类要继承自CFTPEventSink
3.重载CFTPEventSink类的虚拟函数,这些函数将代表ftp服务器中发出的各个事件。
4.开始服务。
class CMyDlg : public CDialog, CFTPEventSink
{
...

CFTPServer m_FTPSERVER;

virtual void OnFTPUserConnected(DWORD nThreadID,
LPCTSTR lpszUser,
LPCSTR lpszAddress);
virtual void OnFTPUserDisconnected(DWORD nThreadID,
LPCTSTR lpszUser);
virtual void OnFTPStatusChange(int nType,
LPCTSTR lpszText);
virtual void OnFTPReceivedBytesChange(int nBytes);
virtual void OnFTPSentBytesChange(int nBytes);
virtual void OnFTPStatisticChange(int nType,
int nValue);

...
}


BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();

...

// initialize event sink
m_FTPSERVER.Initialize(this);
// set maximum users to 10
m_FTPSERVER.SetMaxUsers(10);
// accept new connections on port 21
m_FTPSERVER.SetPort(21);
// activate server
m_FTPSERVER.Start();

return TRUE;

相关软件

相关说明

    四、源码和软件包含破解版及注册码均是由网上搜集免费提供下载,若本站提供的内容侵犯了您的权益,请发信给我们,本站将立即改正!