[ 
http://issues.apache.org/jira/browse/NET-141?page=comments#action_12437592 ] 
            
Christian Hufgard commented on NET-141:
---------------------------------------

Thanks for the quick response.

Ok, should have checked the archives before :). But I think if this is a 
feature, it should be documented within the API. At least I haven't found it 
within FTPClient and SocketClient. DefaultSocketFactory just notices that it 
wrappes Socket.

Maybe SocketClient.setDefaultTimeout(int timeout) would be a good place to get 
this information noticed.

I still think, this behaviour is a little bit strange. We also use 
commons-httpclient and there is some code that uses >jdk 1.4 feature if 
available and implements a custom way for the connect timeout if they are not.
Think this would be usefull for ftpclient too.

> FTPClient/DefaultSocketFactory does not regard default timeout
> --------------------------------------------------------------
>
>                 Key: NET-141
>                 URL: http://issues.apache.org/jira/browse/NET-141
>             Project: Commons Net
>          Issue Type: Bug
>    Affects Versions: 1.4 Final
>            Reporter: Christian Hufgard
>         Attachments: CustomSocketFactory.java
>
>
> Hi,
> If executing the following code
>  String hostname = "localhost";
>  FTPClient client = new FTPClient();
>  client.setDefaultTimeout(1000);
>  client.connect(hostname);
> against a ftp server that ignores the connection attempt (e.g. is 
> firewalled/malfunctoned), there will be no exception after 1000 ms. The 
> exception will be thrown after a default timeout of three minutes. (Three 
> minutes on a debian/ and a suse machines. Might be different on other 
> platforms).
> JavaDoc says:
> public void setDefaultTimeout(int timeout)
>   Set the default timeout in milliseconds to use when opening a socket.
> Digging through the code I found, that DefaultSocketFactory which is used be 
> SocketClient does not care about any value set with this method. It creates a 
> new Socket with Socket(hostname, port) and relies on the VMs behaviour.
> To get this fixed I set a custom SocketFactory with 
> client.setSocketFactory(socketFactory); that uses a timeout for socket 
> connection.
> This bug is also in 1.4.1, but this value is not listed...
> Christian

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to