灵异的CFtpConnection

华亭真人 2009-07-28 08:52:55
郁闷了,大家来看下吧。。。
在本地两个电脑上测试没有问题,可以下载,到客户那里建好FTP服务器,下载不了
症状是
1。在任一个电脑上用网页输入ftp://192.168.1.101/files/可以打开,可以下载
2。软件用127.0.0.1可以下载,也没有问题
3。软件用192.168.1.101下载是空文件,没有错误提示。。。

代码如下:


bool GetFile(CString path)
{
CFtpFileFind m_ftp(pConn);
CreateDirectory(path,NULL);


bool m_bFindFile=m_ftp.FindFile(_T(path+"//*.*"));

CStringList list;


if(m_bFindFile)
{
while(m_bFindFile)
{


m_bFindFile=m_ftp.FindNextFile();
CString filename=m_ftp.GetFileName();
if(filename=="."||filename=="..")



continue;

if(!m_ftp.IsDirectory())
{
try{
dlg->SetDlgItemText(IDC_INFO,"正在下载"+m_ftp.GetFilePath()+"...");
pConn->GetFile("//"+path+"//"+m_ftp.GetFileName(),path+"//"+m_ftp.GetFileName());

}
catch(CInternetException *e)
{
e->ReportError();
return false;
}

}
else

{
list.AddTail(filename);
}
}
}
m_ftp.Close();

while(list.IsEmpty()==false) {



CString strDir=list.RemoveHead();



GetFile(path+"//"+strDir);



}


return true;
}
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rendao0563 2009-07-29
  • 打赏
  • 举报
回复
m_bFindFile=m_ftp.FindNextFile();

你至少判断一下成功与否。如果没有成功你流程还在往下跑?
CFtpFileFind MSDN上有例子的。参照一下那个代码。
songtao_01 2009-07-29
  • 打赏
  • 举报
回复
大佬调试一下。
pConn->GetFile("//"+path+"//"+m_ftp.GetFileName(),path+"//"+m_ftp.GetFileName());
调用成功了没有。Nonzero if successful; otherwise 0.
oyljerry 2009-07-28
  • 打赏
  • 举报
回复
多检查一下环境属性,配置等
华亭真人 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 happyparrot 的回复:]
我要。
你代码有没有自己调试一下呢?
[/Quote]

调试过的了,明天把那边的IIS5换成IIS6 ,之前没注意到这个问题
快乐鹦鹉 2009-07-28
  • 打赏
  • 举报
回复
我要。
你代码有没有自己调试一下呢?
华亭真人 2009-07-28
  • 打赏
  • 举报
回复
寂寞了太久。。100分都没人要了。。
华亭真人 2009-07-28
  • 打赏
  • 举报
回复

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧