FTP上传,更好的思路?

hugoon 2006-05-19 08:49:21
在用IDFTP做一个Internet的FTP自动上传的功能,由于FTP服务器不是很稳定,速度有快有慢,应此当FTP服务器很慢的时候,程序就停顿在那里,好像死机了一样,不知道大家有没有好的思路?

...全文
278 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hugoon 2006-05-24
  • 打赏
  • 举报
回复
是的,是每天向总厂汇总分厂的数据文件,做数据上传。

加入我的群里一起讨论讨讨论吧!

12777667
tianxueshan 2006-05-23
  • 打赏
  • 举报
回复
用如果你用INDY9来做的话会出现问题。当服务器意外断开时。如果服务器正在读缓存的数据。这里文件将处于打开状态。也就是说无论你怎么去传此文件都会报异常,除非重启计算机,因为我曾经用IDFTP(INDY8)的IDFTP做过这个项目。不过失败了。而且很耗费资源(因为有太多的异常要处理),不过现在我们自己封装UDP来做上传(楼主是做自动更新?)效果不错。
hugoon 2006-05-23
  • 打赏
  • 举报
回复
55555555
hugoon 2006-05-21
  • 打赏
  • 举报
回复
没人回答一下嘛?先顶一下啊....
bluesky23 2006-05-20
  • 打赏
  • 举报
回复
还是定时检测连接状态,若断开则自动重连。
hugoon 2006-05-20
  • 打赏
  • 举报
回复
打算用socket做了.

如果方便,可以加入我的群里讨论:

12777667
postren 2006-05-19
  • 打赏
  • 举报
回复
对,把耗时的操作放到线程中,不会影响主界面的操作
hugoon 2006-05-19
  • 打赏
  • 举报
回复
这是个好方法!
podianliangshui 2006-05-19
  • 打赏
  • 举报
回复
使用线程,在线程中完成操作,如果超时,销毁线程就行了
hugoon 2006-05-19
  • 打赏
  • 举报
回复
多试几次也是个好办法.


有兄弟说用线程,但我感觉好像解决不了太大的问题啊!
podianliangshui 2006-05-19
  • 打赏
  • 举报
回复
FLASHFTP载时白后会重试若干次,你的程序又没重试,有可能再一次就成功了
hugoon 2006-05-19
  • 打赏
  • 举报
回复
如果方便,可以加入我的群里讨论:

12777667
hugoon 2006-05-19
  • 打赏
  • 举报
回复
现在的核心问题就是,这个上传功能很不健壮,同样的网络状况用FLASHFTP上传可以实现,但用我的程序就很难实现.大家给点这方面的建议好嘛?

部分的代码是:
FormCreate事件:
try
IdFTP1.User := LUSER;
IdFTP1.Password := LKEY;
IdFTP1.Host := LIP;
IdFTP1.Connect;
//showmessage('success!');
except
Button1.Enabled := true;
showmessage(' FTP ERROR !'); //FTP无法连接
end;


ButtonClick事件:
if IdFTP1.Connected then
begin
IdFTP1.Put(LFactoryName+DateToStr(Now)+'.ini', ExtractFileName(LFactoryName+DateToStr(Now)+'.ini'));
end;


谢谢!


5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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