More clues.

1:
Tried the xferdemo3 and that works ok.

2:
My code is basically a state machine. In the FtpRequestDone event, it
decides what to do next. So after a CWD and a possible Mkdir commands it
does the putAsync. Nothing then happens until the next event which should be
a ftpPutAsync. However in the case of the large file and this particular FTP
site, no more events are generated.

If I change the "putAsync" to "Put",  (again from within the FtpRequestDone
event) the transfer is performed as before. Now at the end of the transfer
the code continues to the next line after the "Put" as you would expect.
Next, a ftpPutAsync event is generated with an error code of 426.

Wireshark is still not showing "226 File Transfer Complete".

3:
Modified the xferdemo3 code by adding a FtpRequestDone event just to see
what and when it is called. This behaves as I expect and the ftpPutAsync is
generated at the end of the transfer. But I assume this is because the FTP
server has sent a "226 FTP Transfer Complete".

So the question is: What are you doing in your demo that is different.
Wireshark shows you are doing ALLO, but that just gets a response saying
it's unnecessary.

Graham

-----Original Message-----
From: twsocket-boun...@elists.org [mailto:twsocket-boun...@elists.org] On
Behalf Of Angus Robertson - Magenta Systems Ltd
Sent: 26 November 2012 18:31
To: twsocket@elists.org
Subject: Re: [twsocket] FTP Client - Large files

> My code just does putAsync and waits for the ftpPutAsync event.
> I don't know exactly how the xferdemo3w does it

You have all the source code for TMagFtp, so you can easily check.  There
are probably two main differences: 

1 - TMagFtp uses the sync FTP calls and WaitUntilReady, so check that
function for special handling.  

2 - The component has been developed and tested over several years and so is
very solid with a lot of special error handling to make it very stable.


One caution, xferdemo3w uses a 'special' widestring version of ICS v8 that
works with Delphi 2007, to use the unchanged ICS version test against
xferdemo3 which is pure ICS. 

Angus

--
To unsubscribe or change your settings for TWSocket mailing list please goto
http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to