一个关于CFtpFileFind的小问题,想帮着解决问题的,请进...
问题现象:
用CFTPFileFind从客户端连接到服务器都正常,当查找指定目录下的文件时,在Windows XP系统中,会报12031错误(The connection with the server has been reset),但在Windows Server03系统中,就一切运行都正常,而且在XP中将客户端防火墙关掉,就可以正常的查找到文件,现在我在防火墙中给我的程序创建了一个例外,但还是不能查找到服务器端的文件,这个问题该如何解决,请高手指点。
注:服务器端的FTP服务,我配置的是IIS中自带的FTP服务,创建的用户是 不隔离用户。
代码如下,请参考:
连接服务端代码:
try
{
m_pInterSession = new CInternetSession(AfxGetAppName());
if (m_pInterSession)
{
m_pFtp = m_pInterSession->GetFtpConnection(m_strServerIP, m_strFtpName, m_strFtpPwd, m_nFtpPort);
if (m_pFtp == NULL)
return FALSE;
return true;
}
else
{
return false;
}
}
catch(CInternetException *ex)
{
ex->Delete();
m_pFtp = NULL;
m_pInterSession = NULL;
delete m_pFtp;
delete m_pInterSession;
}
查找文件代码:
CFtpFileFind finder(m_pFtp);
BOOL bIsExist = finder.FindFile(_T("*"));
errorcode = GetLastError();
if(errorcode == 12031)
return -1;