VB利用Inet控件实现FTP中的一些问题

Domino0627 2011-05-10 03:55:38
本帖子只能100分,各位大侠如能解决问题的,我再开4个帖子,再送出400分,绝不食言。

先看代码吧,很简单,只贴出部分代码。


'点击按钮,遍历FileListBox中的文件
Private Sub Command1_Click()
With Inet1
.URL = "ftp://10.65.73.171"
.UserName = "administrator"
.Password = "dqytoa060420"
.Protocol = icFTP
.RequestTimeout = 120
End With
For i = 0 To File1.ListCount - 1
Call Inet1.Execute(, "put """ + File1.Path + "\" + File1.List(i) + """ ftp\" + File1.List(i)) '三个双引号解决路径中存在空格的问题
Dim Doing As Boolean
Doing = Inet1.StillExecuting
Do While Doing
Doing = Inet1.StillExecuting
DoEvents
Loop
Next
End Sub


程序一般情况下可以正常运行,但是,在传输大量文件时(有时候20个左右,有的时候10多个,每个文件100K左右),传输到某个文件就卡住了,因为我有一个text,里面显示正在传输第几个。但是现在传输的时候,不一定第几个文件就卡住了,无规律。而且我看了下ftp服务器,的确到这个出问题的文件和之后准备上传的文件都没有。

可以排除文件损坏,网络的因素。请高手帮忙。
...全文
137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxljason 2011-05-11
  • 打赏
  • 举报
回复
100k太小了 有可能是没反应过来 延迟这种原因

加个sleep试试
z_wenqian 2011-05-11
  • 打赏
  • 举报
回复
请参考 http://blog.csdn.net/z_wenqian/archive/2011/04/28/6368842.aspx 中的 Inet_StateChanged , 将报告状态写入文件中,看看到底是什么问题。

我也碰到过卡住的情况,当时是因为网不通了,请在看看卡住时的网络状态。
  • 打赏
  • 举报
回复
利用Inet控件的事件进行控制就好了。
dbcontrols 2011-05-10
  • 打赏
  • 举报
回复
Do While Doing
循环使内存崩溃了
  • 打赏
  • 举报
回复
简单问题复杂话。
有很多的方法去北京,你想怎么走?
啊的发哦 2011-05-10
  • 打赏
  • 举报
回复
表示关注,这个问题曾经遇到过,不过因项目被废也就没在理会。

当初我那好像不但死住,还给你报内存read错误。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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