PutFile and Resume (wodFtpDLX / wodFtpDLX.NET)
Hi,
Resume transfer don't start after abort. I make small vbs test script:
[code]
On Error Resume Next
objFTP.Passive = 0
objFTP.Blocking = 1
objFTP.Connect
objFTP.TransferMode = 0
objFTP.Resume = 0
objFTP.PutFile C:\bigFile.iso , /newFolder/simple.out
objFTP.Resume = 1
objFTP.PutFile C:\bigFile.iso , /newFolder/simple.out
objFTP.Disconnect
Sub wod_Done(ErrorCode, ErrorText)
WScript.Echo Done: & ErrorCode
End Sub
Sub wod_Progress(pos, total)
If(pos > 5242880) Then objFTP.Abort
End Sub
[/code]
First PutFile generate exception, and on second PutFile instantly come Done event with ErrorCode=0. File not continue uploading.
As server use fresh downloaded FileZilla server.
Thanks
Re: PutFile and Resume
Hi,
I believe I have duplicated this issue. I have already contacted our programmers on this in order to see if they can do the same in debug mode. We will inform you as soon as we know more.
Regards,
Damba
Re: PutFile and Resume
Hi,
Please download the component again, and try it out. I believe we isolated and fixed this issue.
We would appreciate if you would let us know if everything is ok now.
Regards,
Damba
Re: PutFile and Resume
Hi,
I download DEMO 2.7.8.392 version of component. Problem is still exists. Need I request update?
Thanks, Roman
Re: PutFile and Resume
Hi Roman,
I'm working on this. I'll be performing some more tests during the day. We will inform you as soon as we have more information.
Regards,
Damba
Re: PutFile and Resume
Hi Roman,
Your problem should be fixed.
Can you please download latest version form our site and try it again.
Let us know how it goes.
Drazen
Re: PutFile and Resume
Hi,
Seems all work fine with DEMO version and simple test. I'll request update and test it in project. If will be problems I report you.
Thanks, Roman
Re: PutFile and Resume
Hi,
I found another not correct behaviour.
Now problems in SFTP protocol. All action stay same.
After resume file continue download, Progress event come normaly, but at end no Done event ( in both Block/nonBlock mode )
If in Block mode - PutFile doesn't return control, only on time out with server.
File seems uploaded completely.
If I don't use abort/resume, file upload normaly in one pass.
Thanks, Roman
Re: PutFile and Resume
Roman,
We have duplicated your problem. I have send it to our programmers so they can try to duplicate it in debug mode and resolve it if they find a problem also.
You will receive our response when we have more about your issue.
Drazen
Re: PutFile and Resume
Hi Roman,
I believe we solved the issue you have described, please request an update of wodFtpDLX component from our website. Also, please let us know if the problem is gone on your side too.
Regards,
Grof
Re: PutFile and Resume
Hi,
Abort/Resume work correct.
But MaxTransferRate for SSH connection have some problems. I have some feeling that real speed more 10 times than desired ( MaxTransferRate ). For FTP speed in normal limits ( all FTPs protocols doesn't check ).
Thanks, Roman
Re: PutFile and Resume
Roman,
I have try it and it works for me as expected using SFTP protocol and SSH-2.0-OpenSSH_3.8.1p1 Debian-8.sarge.6 server.
How can I duplicate your issue? Which server did you use and which value you use in MaxTransferRate Property.
Drazen
Re: PutFile and Resume
Hi,
I found problem: I setup MaxTransferRate after Connect method. But if I put it before two execution of PutFile OR GetFile both run correct.
If I run PutFile AND GetFile ( and vice versa ) second execution run without transfer limits.
I test that on CoreFTP server and mini-sftp-server as localhost.
MaxTransferRate = 50*1024.
After uploading/download I check TransferRate property.
Thanks, Roman
Re: PutFile and Resume
By the way, if I use CoreFTP as FTP server ListDir doesn't return control in non-passive mode.
Whose problem is it?
Re: PutFile and Resume
Roman,
Seems that Core FTP doesn't reply on PORT command with 200 response, but decides to use 250. By RFC specification from 1985
http://www.faqs.org/rfcs/rfc959.html
you will see that correct response to PORT is 200 - thus component is confused and awaits wrong response. Since 250 is also used during data file transfer, component expects 250 to close the data which doesn't happen - and it times out.
You should mark this complaint to Core FTP authors to be fixed.
Drazen
Re: PutFile and Resume
Roman,
I believe we solved the issue with MaxTransferRate property. Please request an updated version of wodFtpDLX component from our website. Also, please let us know if the problem is solved on your side too.
Regards,
Grof
Re: PutFile and Resume
Hi wodGrof,
Hmm...seems little bit better, but not at all.
But max transfer rate work only if I set it before PutFile/GetFile:
[code]
objFTP.BufferSize = 100*1024/4
objFTP.Resume = 0
objFTP.Blocking = 1
objFTP.Connect
objFTP.MaxTransferRate = 100*1024
objFTP.PutFile C:\Documents and Settings\roman\Virtual Disks\testHDD.iso , testHDD.iso
WScript.Echo (objFTP.TransferRate/1024)
'objFTP.MaxTransferRate = 100*1024
objFTP.GetFile C:\Documents and Settings\roman\Virtual Disks\testHDD_.iso , testHDD_.iso
WScript.Echo (objFTP.TransferRate/1024)
objFTP.Disconnect
[/code]
In this case after GetFile transfer rate is much bigger than MaxTransferRate.
If I uncomment string GetFile download with MaxTransferRate speed.
Same I get in c++ example application.
Bwt, in my complicated multithreaded application [:wink:]
when uploading MaxTransferRate don't work completely ( SFTP only of course ), and this is very strange [:sad:].
While download work as expect ( same for FTP d/u ).
May be it gone when MaxTransferRate error will be fixed.
Thanks, Roman
Re: PutFile and Resume
Roman,
I manage to duplicate your problem. I have send it to Grof.
We will let you know when we have more about it.
Drazen
Re: PutFile and Resume
Roman,
I think we solved this issue too. Please request an updated version and confirm that the problem is gone.
Regards,
Grof