Timeout question (General questions)
Hi,
I can't completely understand Timeout property meaning:
1. Documentation says that Timeout property is time to autodisconnect.
and
2.'This value also is used when connecting to the server. If wodFtpDLX is unable to connect until timeout expires, it will return an error.' - I think that Connect action will be wait no more than Timeout value. Correct?
But what about Timeout for other operations like Browse/DeleteFile and so on?
And can I without using KeepAlive property setup Timeout to 20-30sec, but without autodisconnect event?
Thanks, Roman
Re: Timeout question
Roman,
The Timeout property is used by the component to determine how long idle time it should wait before disconnecting from the server. The idle time is time when there are no transfers active, and the state is 4 ( Connected to server - idle. ). If that time reaches the time set in Timeout Property, the component will disconnect.
As for the other question, you are correct. The component will abort the Connect method if it reaches the timeout period without making a successfull connect.
The timeout property doesn't interact with other operations like Listing directories, uploading, downloading etc. In that case, the component isn't idle.
As for your last question, you can't. The component will always automatically disconnect from the server if Timeout period is reached. You can, ofcourse, set Timeout property to 0 to completely prevent component from disconnecting automatically. You can also change Timeout during a *live* connection.
Hope I helped.
Regards,
Damba
Re: Timeout question
Ok, thanks, it is clear.
But how many time component will be waiting for server reply on commands like ListDir/Upload/Download before generate timeout(!) error?
Can I change this time, or it depend on system settings?
Thanks, Roman
Re: Timeout question
Roman,
It will wait as long as the server doesn't respond, but as long as there is any communication going on. If there is no communication at all, then the time specified in Timeout Property will be used.
We don't have a separate Timeout property for this, but if you really need it, you could implement a timer, and call Abort method in such cases.
Hope I helped.
Regards,
Damba