idftp的下载出错了这个问题老大了

sxper 2013-01-03 02:32:52
1 首先这个过程是在connected以后执行的
2 只下载不上传,网络环境是内网,绝对ok。
3 connected以后马上执行呢,没有问题。问题就是过一段时间后执行,且其中某个文件夹文件过多,有500+ 就在下载文件夹内容的时候。报错。

file sent ok //根本没上传。id怎么报错这个?
Connection Closed Gracefully 然后就是错误。

这个时候只要重新connect以后,还是可以执行下载。


procedure TForm1.tmr2Timer(Sender: TObject);//连接保持检测。10秒一次
begin
if not IdFTP.Connected then
begin

Exit;
end;
if TransferrignData then Exit;//在下载中则不noop
IdFTP.Noop;
end;





procedure Tform1.download ;
var
name:string;
tt :TIdFTPListItems; //ftp列表
t : TIdFTPListItem; //ftp单条记录
j:Integer;
ls:TStringList ;
begin


if idftp.Connected =False then btn1.Click;
idftp.ChangeDir('/Ext');
ls := TStringList.Create;
try
idftp.ChangeDir('/Ext');
idftp.ChangeDir(ip.Text);
idftp.ChangeDir(ftp_date.Text);

except
mmo1.Lines.Add(ip.Text+'无此目录');
end;



idftp.List(ls);

IdFTP.TransferType := ftBinary;
tt:=IdFTP.directorylisting;
forcedirectories ('.\'+ip.text+'\'+ftp_date.Text);
for j :=2 to idftp.DirectoryListing.Count-1 do
begin
t:=tt.items[j];
if IdFTP.DirectoryListing.Items[j].ItemType = ditfile then //如果是文件
begin
if Length(t.FileName)<11 then name :='data.txt'
else name:=t.FileName;
try
IdFTP.Get(t.FileName ,ip.text+'\'+ftp_date.Text+'\'+name,True);

except

end;

end;


end;
mmo1.Lines.Add(ip.text+'_'+ftp_date.Text+'下载完毕');
mmo2.Lines.Add(ip.text+'_'+ftp_date.Text+'='+inttostr(idftp.DirectoryListing.Count-2)+'下载完毕');

idftp.ChangeDir('../');
idftp.ChangeDir('../');
idftp.ChangeDir('../');
end;
...全文
266 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxper 2013-01-06
  • 打赏
  • 举报
回复
这事很难么。indy难道 500多200k左右的文件都应付不来么 ?
山东蓝鸟贵薪 2013-01-04
  • 打赏
  • 举报
回复
建议你在网上找个实例看看吧、
sxper 2013-01-04
  • 打赏
  • 举报
回复
实例没错啊。 我这个本身也没有问题 就是出现偶发性错误,但是在文件多的时候比较常见
随着通信电子技术的迅速发展,信息技术给家居行业产生了深远的影响,家居环境的智能化监控已经成为智能家居的一个重要的发展方向。人们逐渐对自己的生活提出一种更高的要求,他们需要一种智能化、可交互,并且融合现代创新科技的产品来改善他们的生活环境,使他们生活更加安全、舒适、便捷、智能。本文根据智能家居的发展背景和研究现状,并且从实用性和可行性角度出发,研究设计了一种基于STM32单片机的智能家居系统。该系统由一个多功能综合的技术系统组成,各个多功能子系统间具有协同配合能力。基于STM32单片机实现的功能子系统包括:智能温度检测,智能湿度检测,智能烟雾/火灾检测智能检测,无线传输,人机交互机构,风扇调节,报警模块。 整个系统分为前端51单片机采集板和后端STM32单片机接收板。 采集板使用DHT11温湿度传感器、MQ烟雾传感器完成室内家居环境的采集。然后通过nRFL24L01将采集到的数据发送给后端。接收板使用LCD1602完成数据显示、使用蜂鸣器模块报警,使用风扇驱动模块调节室内家居环境。本文完成了智能家居控制系统前端、后端软硬件的设计,使用Altium designer绘制了电路原理图,使用Keil C完成了51单片机和STM32单片机的编程与调试。 最后,对本文设计的基于STM32的智能家居控制系统进行部署调试。试验结果表明,该系统可成功应用在智能家居环境检测调节和火灾安全防护的领域,可提高家居生活智能化水平。

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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