想用socket+mfc写一个ftp服务器,但是文件操作出了问题,不知道怎么写,网上没有这方面的教

想用socket+mfc写一个ftp服务器,但是文件操作出了问题,不知道怎么写,网上没有这方面的教,第1张

// MFC 里有CFtpConnection,你可以直接使用,不需要自己去写

CInternetSession sess(_T("My FTP Session"))

CFtpConnection* pConnect = NULL

try

{

   // Request a connection to ftp.microsoft.com. Default

   // parameters mean that we'll try with username = ANONYMOUS

   // and password set to the machine name @ domain name

   pConnect = sess.GetFtpConnection(_T("ftp.microsoft.com"))

   // use a file find object to enumerate files

   CFtpFileFind finder(pConnect)

   // start looping

   BOOL bWorking = finder.FindFile(_T("*"))

   while (bWorking)

   {

      bWorking = finder.FindNextFile()

      _tprintf_s(_T("%s\n"), (LPCTSTR)finder.GetFileURL())

   }

}

catch (CInternetException* pEx)

{

   TCHAR sz[1024]

   pEx->GetErrorMessage(sz, 1024)

   _tprintf_s(_T("ERROR!  %s\n"), sz)

   pEx->Delete()

}

// if the connection is open, close it

if (pConnect != NULL) 

{

   pConnect->Close()

   delete pConnect

}

我这有一个以前自学用的例子,你看看需要不?

运行程序,打开程序主界面,如图1.1所示。输入FTP服务器IP地址、服务器端口、用户名及密码,单击“快速登录”按钮,连接FTP服务器。连接成功后,设置下载文件存储目录,然后就可以上传及下载文件了。下载文件过程中,可以暂停及删除下载任务。

图1.1  FTP文件上传下载模块主窗口

在“功能选项”菜单下选择“下载后关机”命令,文件下载完成后,自动关闭计算机。

MFC有两个类CInternetSession和CInternetConnection,前者有一个成员函数GetFtpConnection用来连接服务器,连接成功返回一个CInternetConnection的对象指针,有了一个对象指针你就可以对服务器上的文件进行操作了,比如从服务器下载文件GetFile,这个是CInternetConnection的成员函数。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/282578.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存