idftp.put死掉,没有返回解决思路
idftp.put死掉,没有返回
我在外网上架设了一个ftp服务器,端口修改为30030,使用windows server 2008的iis设置的
客户端我使用idftp控件,网络有时快有时慢,上传文件的时候,大小的60兆左右,put一直假死在里面没有返回。请问这是由哪些原因造成的呢?代码如下:
function TCS_Client.Upload_New(AZipFile:String;AGuid:String;var AMsg:String):Boolean;
var
vFTP:TIdFtp;
begin
Result:=False;
try
vFTP:=TIdFtp.Create(self.FComponent);
try
try
vFtp.Passive:=True;
vFtp.Host := FtpIP;
vFtp.Port := FtpPort;
vFtp.Username := Ftpuser;
vFtp.Password := FtpPassword;
vFtp.Connect(True,FTP_TIMEOUT);
except on e:Exception do
begin
AMsg:='连接内容服务器'+FtpIP+'失败';
WriteLog('vFtp.Connect EXCEPTION. '+e.Message);
Exit;
end;
end;
try
vFtp.SendBufferSize := 1024;
vFtp.ChangeDir(FtpVirtualPath);
vFtp.Put(AZipFile,AGuid,True); //就是死在这一句,没有返回!
Result:=True;
except on e:Exception do
begin
AMsg:='载入文件到内容服务器'+FtpIP+'失败';
WriteLog('vFtp.Put EXCEPTION. '+e.Message);
Exit;
end;
end;
finally
if vFtp.Connected then vFtp.Disconnect;
vFTP.Free;
end;
except on e:Exception do
begin
AMsg:='载入文件异常';
WriteLog('Upload_New EXCEPTION. '+e.Message);
end;
end;
end;
------解决方案--------------------
上传下载过程,最好搞个日志输出,便于查看进度,也便于了解出错位置。
------解决方案--------------------
修改默认的FTP端口号
我在外网上架设了一个ftp服务器,端口修改为30030,使用windows server 2008的iis设置的
客户端我使用idftp控件,网络有时快有时慢,上传文件的时候,大小的60兆左右,put一直假死在里面没有返回。请问这是由哪些原因造成的呢?代码如下:
function TCS_Client.Upload_New(AZipFile:String;AGuid:String;var AMsg:String):Boolean;
var
vFTP:TIdFtp;
begin
Result:=False;
try
vFTP:=TIdFtp.Create(self.FComponent);
try
try
vFtp.Passive:=True;
vFtp.Host := FtpIP;
vFtp.Port := FtpPort;
vFtp.Username := Ftpuser;
vFtp.Password := FtpPassword;
vFtp.Connect(True,FTP_TIMEOUT);
except on e:Exception do
begin
AMsg:='连接内容服务器'+FtpIP+'失败';
WriteLog('vFtp.Connect EXCEPTION. '+e.Message);
Exit;
end;
end;
try
vFtp.SendBufferSize := 1024;
vFtp.ChangeDir(FtpVirtualPath);
vFtp.Put(AZipFile,AGuid,True); //就是死在这一句,没有返回!
Result:=True;
except on e:Exception do
begin
AMsg:='载入文件到内容服务器'+FtpIP+'失败';
WriteLog('vFtp.Put EXCEPTION. '+e.Message);
Exit;
end;
end;
finally
if vFtp.Connected then vFtp.Disconnect;
vFTP.Free;
end;
except on e:Exception do
begin
AMsg:='载入文件异常';
WriteLog('Upload_New EXCEPTION. '+e.Message);
end;
end;
end;
------解决方案--------------------
上传下载过程,最好搞个日志输出,便于查看进度,也便于了解出错位置。
------解决方案--------------------
修改默认的FTP端口号