FTP服务器与客户端设计与开发.doc

FTP服务器与客户端设计与开发.doc

ID:56104990

大小:413.01 KB

页数:32页

时间:2020-03-16

FTP服务器与客户端设计与开发.doc_第1页
FTP服务器与客户端设计与开发.doc_第2页
FTP服务器与客户端设计与开发.doc_第3页
FTP服务器与客户端设计与开发.doc_第4页
FTP服务器与客户端设计与开发.doc_第5页
资源描述:

《FTP服务器与客户端设计与开发.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、FTP服务器与客户端设计与开发详细设计程序包括5个主要功能:1.服务器的运行:启动和停止FTP服务2.用户管理:添加用户,删除用户和设置用户权限3.服务器配置:设置服务器开放端口,最大连接数等4.运行统计:统计当前服务器运行时期上传下载的流量等等5.安全设置:允许连接服务器的IP列表,以及禁止访问的IP服务器的运行模块功能:负责FTP服务器的运行。使用类:CFTPServer类,CApplicationDlg类,CListenSocket类,CConnectThread类,CConnectSocket类各种类的功能:1.CFTPServer类:是

2、CWnd的子类,作为程序的顶层类,负责实现或者调用各个成员函数2.CApplicationDlg类:CDialog类的子类,实现程序主窗口。3.CListenSocket类:负责监听FTP客户端连接,并实现有效连接4.CConnectThread类:负责实现并保证多个连接的有效性。5.CConnectSocket类:实现FTP命令的解析,数据的发送和接收CFTPServer类作为服务器的顶层类,实现服务器开始运行时的所有成员函数申明如下:classCFTPServer:publicCWnd{friendCConnectSocket;//CConn

3、ectSocket作为其友元类,可以访问内部私有数据成员public:voidSetGoodbyeMessage(LPCTSTRlpszText);//发送退出信息voidSetWelcomeMessage(LPCTSTRlpszText);//发送欢迎信息voidSetTimeout(intnValue);//设置暂停时间voidSetPort(intnValue);//设置端口voidSetMaxUsers(intnValue);//设置最大连接数voidSetStatisticsInterval(intnValue);//统计时间间隔BOO

4、LIsActive();//是否有效voidStop();BOOLStart();CFTPServer();virtual~CFTPServer();CUserManagerm_UserManager;//用户管理对象CSecurityManagerm_SecurityManager;//安全策略CFTPServer类最主要的成员函数是start()和stop(),分别负责ftp服务器的开始运行和结束运行函数声明如下:/****************************************************************

5、****//**//*Functionname:Start*//*Description:Startlistiningonport21andacceptnew*//*connections.*//**//********************************************************************/BOOLCFTPServer::Start(){if(m_bRunning)returnFALSE;//如果运行,返回错误标志//createdummywindowformessageroutingif(!CW

6、nd::CreateEx(0,AfxRegisterWndClass(0),"FTPServerNotificationSink",WS_POPUP,0,0,0,0,NULL,0)){AddTraceLine(0,"Failedtocreatenotificationwindow.");returnFALSE;}//开始创建socketif(m_ListenSocket.Create(m_nPort)){//startlisteningif(m_ListenSocket.Listen()){m_ListenSocket.m_pWndServer=

7、this;m_bRunning=TRUE;SetTimer(1,m_nStatisticsInterval,NULL);AddTraceLine(0,"FTPServerstartedonport%d.",m_nPort);returnTRUE;}}AddTraceLine(0,"FTPServerfailedtolistenonport%d.",m_nPort);//destroynotificationwindowif(IsWindow(m_hWnd))DestroyWindow();m_hWnd=NULL;returnFALSE;}/***

8、*****************************************************************//*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。