1

我正在尝试编写一个适用于 ftp 服务器上的文件的应用程序。我需要在一个 ftp 连接中打开多个文件。我这样做

CInternetSession session(_T("Session1"));
CFtpConnection* pConnect = NULL;
CInternetFile* pFile1;
CInternetFile* pFile2;

pConnect = session.GetFtpConnection(_T("10.0.172.113"), _T("user11"), _T("12345")); 

pFile1 = pConnect->OpenFile(L"folder1\\1.txt",GENERIC_WRITE,FTP_TRANSFER_TYPE_BINARY);
pFile2 = pConnect->OpenFile(L"folder1\\2.txt",GENERIC_READ,FTP_TRANSFER_TYPE_BINARY);

pConnect->Close();

但是打开 2.txt 抛出异常。有没有办法在不创建新的 ftp 连接的情况下打开两个文件?

4

1 回答 1

1

不,没办法http://msdn.microsoft.com/library/vstudio/1st6z7sc.aspx

在调用 OpenFile 之后直到调用 CInternetConnection::Close,应用程序只能调用 CInternetFile::Read、CInternetFile::Write、CInternetConnection::Close 或 CFtpFileFind::FindFile。对同一 FTP 会话的其他 FTP 函数的调用将失败并将错误代码设置为 FTP_ETRANSFER_IN_PROGRESS

于 2013-05-31T12:45:02.867 回答