关于indy tidftp的错误;

kejiec 2010-09-07 04:52:15
socket error 10049: can not assign requested address;

我在自己的机器上装了个Serv-U是可以连接并进行数据下载,但是我却连接不到其他的机器上,错误如上

代码为:


idftp2->BoundIP = "172.16.7.38";
idftp2->Username = "ftpuser";
idftp2->Password = "123456";


//其他的都为默认设置;
idftp2->Connect(true);//走这一步的时候报错;

请大家看看为什么
...全文
100 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfdscx 2010-09-08
  • 打赏
  • 举报
回复
idftp2->Host= FtpIP;
idftp2->Port = 21;
idftp2->Username = "ftpuser";
idftp2->Password = "123456";


用Host
zzbinfo 2010-09-07
  • 打赏
  • 举报
回复
你的这个组件和我说的那个不是同一个,唉,我这里没有你这个组件,估计我们的版本不一样是不是
kejiec 2010-09-07
  • 打赏
  • 举报
回复
同学们,帮帮忙啊,我是没辙了,我在自己的机器上是可以的,但是不在同一个机器上就有问题了
kejiec 2010-09-07
  • 打赏
  • 举报
回复

idftp2->BoundIP = FtpIP;
idftp2->Port = 21;
idftp2->Passive = true;
idftp2->Username = "ftpuser";
idftp2->Password = "123456";




try
{
if(idftp2->Connected() == true)

idftp2->Disconnect();

idftp2->Connect(false,10000);


idftp2->Login();

if(idftp2->Connected() == true)


return 0;
}
catch(...)
{

return -1;
}
zzbinfo 2010-09-07
  • 打赏
  • 举报
回复
跟我用的是一样的组件呀,怎么写法不同,这是我的部分代码,你改成这样试试看行不行,不行你就把你的代码贴出来再看看
                try{
BeforFtp->Disconnect() ;
BeforFtp->Host = FtpServiceBeforHost;
BeforFtp->User = FtpServiceBeforUserName;
BeforFtp->Password = FtpServiceBeforPassWord;
BeforFtp->Port = FtpServiceBeforPort;
BeforFtp->Passive = BeforTransMod;
BeforFtp->TransferType = ftBinary;
BeforFtp->Connect() ;
if(FtpTransAfter == 0) TransAfterAddStr = "";
if(FtpTransAfter == 1) TransAfterAddStr = FormatDateTime("yyyymmddhhmmss",Now());
BeforFtp->Put(ADOQuery1->FieldByName("FilePath")->AsString+ADOQuery1->FieldByName("FileName")->AsString,BeforUpLoadDir + TransAfterAddStr + ADOQuery1->FieldByName("FileName")->AsString,true);
BeforFtp->Quit();
}

#ifdef debug
catch(Exception &exception)
{
IsTransOk = false;
Sysutils::ShowException(&exception, System::ExceptAddr());
}
#else
catch(...)
{
IsTransOk = false;

// MessageBox(NULL,"ftp传送文件出错","提示",0);

}
kejiec 2010-09-07
  • 打赏
  • 举报
回复
其他的是正常的,我用的是indy的控件
zzbinfo 2010-09-07
  • 打赏
  • 举报
回复
吧你的这段代码放到try{}catch(Exception &exception)中看看,用其他ftp客户端连接一下试试正常么。
kejiec 2010-09-07
  • 打赏
  • 举报
回复
这个我也加了,还是报这个错误
zzbinfo 2010-09-07
  • 打赏
  • 举报
回复
idftp2->Passive = true;
如果确信服务器没有问题得时候试试加一句这个,这个是使用被动模式,主要是防火墙造成得端口映射有问题。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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