请问这Indy10 Snapshot 中的TIdFTP的BUG吗(高手帮助) ( 积分: 200 )

  • 主题发起人 主题发起人 九月天
  • 开始时间 开始时间

九月天

Unregistered / Unconfirmed
GUEST, unregistred user!
同时向FTP服务器上传两个不同的文件时,经测试采用多线程动态创建IDFTP上传,当其中一个文件上传完成,另一个文件则过几秒后停止上传,最终未完成,于是用indy 10 demo中的FTP例子,同时打开两上FTP例子,分便上传这两个文件,同样,也是当一个FTP例子上传完后,而另一个例子过几秒后停止上传。是否是因为IDFTP不支持?还是我的程式有问题,或者是要设定哪里?
 
顶上来,没办法,江湖救急呀,谢谢啦!
 
可能是服务器端的TIdFTPServer设置有问题吧
 
不是的,我试过用cuteFTP多线程上传可以,而且服务器是用的win2003 FTP server
 
你的Passive属性设置的是什么?False吗?如果是,设置DataPort,DataPortMin,DataPortMax等属性,保证两个FTP客户端实例(控件)不会同时使用一个端口。然后再试试。
 
另外,CuteFTP本身有保护机制,既,如果服务器断开,他会重试连接,然后继续上传的。

如果你的两个FTP客户端使用的是同一个用户名和密码登录服务器的话,当第一个完成上传后,会自动退出登录,而这个时候,服务器端维护的用户列表可能已经关闭了你的用户权限,导致你另外一个线程上传的中断。如果是这种情况,你需要自己手工修改你的程序的逻辑,捕获这个异常,并自动重新登录然后续传。
 
谢谢zqw0117,我先去试试看,也许正如你所说的,先感谢啦!
 
只是将Passive属性改True就可以让其它线程也完成上传,但这样会可能存在错误,比如我有一次就提示产Reply code.... :26 T,这样的错误不知道错在哪。
将此错误用
try
except
end;
屏蔽掉可以正常上传至结束,不受影响!
不管怎么说都很感谢zqw0117给我的提示
 
后退
顶部