Socket connect timeout is dependent on the OS.
It is configurable since jdk1.4 through code by creating an unbound socket and using
connect(SocketAddress, timeout)
If one uses java.net.URLConnection there are also:
sun.net.client.defaultConnectTimeout (default: -1)
sun.net.client.defaultReadTimeout (default: -1)
See http://java.sun.com/j2se/1.4.1/docs/guide/net/properties.html
Has anyone actually tried to contact a server that is down and received a timeout?
In my experience, trying to interrupt a socket while it is trying to connect (as in
the TimeoutController) does nothing until the actual OS timeout kicks in.
Maybe, instead of using the TimeoutController in JDK1.4 you should use the build-in
functionality (using reflection to keep compatibility with older JVMs).
Slavik.
-----Original Message-----
From: Michael Becke [mailto:[EMAIL PROTECTED]
Sent: Friday, June 06, 2003 6:20 PM
To: Commons HttpClient Project
Subject: Re: Timeout in HTTP
Sorry, I misunderstood the question. I agree, it is undefined. It
appears Socket connect timeout is neither documented nor configurable.
My guess is that it's dependent on OS and server response.
Mike
Kalnichevski, Oleg wrote:
> Mike, The question is what is the effect of setting connectionTimeout
> to 0. As far as I can see from the code, it does not in fact
> guarantee that the connection will not timeout. What it means that
> HttpClient will not give up waiting on that connection, but it does
> not mean that Socket#Socket constructor would wait indefinitely. Am I
> missing something?
>
> Oleg
>
> -----Original Message----- From: Michael Becke
> [mailto:[EMAIL PROTECTED] Sent: Friday, June 06, 2003 16:23 To:
> Commons HttpClient Project Subject: Re: Timeout in HTTP
>
>
> I believe it is being set by HttpClient.execute(). The defaults for
> soTimeout and connectionTimeout are both 0.
>
> Mike
>
> Kalnichevski, Oleg wrote:
>
>> Well, after having browsed through the source code, I am afraid the
>> answer is 'undefined'. HttpConnection class invokes
>> socketFactory#createSocket method, which in its turn calls
>> Socket#Socket constructor, which in its turn can timeout at any
>> time it sees fit. Does anybody see that differently? I do not think
>> there's much we can do about it
>>
>> Oleg
>>
>> -----Original Message----- From: George Gastaldi
>> [mailto:[EMAIL PROTECTED] Sent: Friday, June 06, 2003
>> 15:53 To: Commons HttpClient Project Subject: RE: Timeout in HTTP
>>
>>
>> Yes, that's the point. However, I do not set any value for
>> setTimeout in HTTPClient. And it is thrown after one minute in
>> average... What's the default value if nothing is set up ?
>>
>> -----Original Message----- From: Kalnichevski, Oleg
>> [mailto:[EMAIL PROTECTED] Sent: Friday, June 06,
>> 2003 10:45 AM To: Commons HttpClient Project Subject: RE: Timeout
>> in HTTP
>>
>>
>> George,
>>
>> Please note that HttpConnection.ConnectionTimeoutException
>> represents a connection timeout (set with
>> HttpClient#setConnectionTimeout), not a read timeout (set with
>> HttpClient#setTimeout). Can it be that this confusion is the source
>> of the problem?
>>
>> Oleg
>>
>> -----Original Message----- From: George Gastaldi
>> [mailto:[EMAIL PROTECTED] Sent: Friday, June 06, 2003
>> 13:55 To: Commons HttpClient Project Subject: RE: Timeout in HTTP
>>
>>
>> That's strange, because even when I do not set anything, the
>> connection times out for about 1 minute, throwing a
>> HttpConnection.ConnectionTimeoutException. Setting explicitly to 0
>> will never timeout ?
>>
>> Thank you for the answer.
>>
>> -----Original Message----- From: Ortwin Gl�ck
>> [mailto:[EMAIL PROTECTED] Sent: Friday, June 06, 2003 3:26 AM
>> To: Commons HttpClient Project Subject: Re: Timeout in HTTP
>>
>>
>> Michael Becke wrote:
>>
>>
>>> I am assuming you are talking about SO_TIMEOUT set via
>>> HttpClient.setTimeout(). This is the amount of time to wait when
>>> reading on an open socket. This defaults to 0 which means that
>>> it will wait forever.
>>
>>
>> "forever" means "until the server is bored and closes the
>> connection" :-)
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> [EMAIL PROTECTED] For
>> additional commands, e-mail:
>> [EMAIL PROTECTED]
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> [EMAIL PROTECTED] For
>> additional commands, e-mail:
>> [EMAIL PROTECTED]
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> [EMAIL PROTECTED] For
>> additional commands, e-mail:
>> [EMAIL PROTECTED]
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED] For additional
> commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED] For additional
> commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------------------------------------------------
This message contains information that may be confidential or privileged.
If you are not the intended recipient, you may not use, copy or disclose
to anyone any of the information in this message. If you have received
this message and are not the intended recipient, kindly notify the sender
and delete this message from your computer.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]