[ http://issues.apache.org/jira/browse/NET-141?page=all ]
Rory Winston resolved NET-141. ------------------------------ Resolution: Fixed Added in 2.0. > Add connection timeout support to SocketClient and/or > SocketFactory/DefaultSocketFactory > ---------------------------------------------------------------------------------------- > > Key: NET-141 > URL: http://issues.apache.org/jira/browse/NET-141 > Project: Commons Net > Issue Type: Improvement > Affects Versions: 1.4 Final > Reporter: Christian Hufgard > Assigned To: Daniel Savarese > Fix For: 2.0 > > 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]