Oleg,
 
What I want to do is unblock if I don't have the entire response in x seconds, 
where x = time needed to connect to the server plus the time needed to recieve 
the entire response. Can you please suggest a way to do this? Can you show me 
with an example?
 
Thanks in advance.

Oleg Kalnichevski <[EMAIL PROTECTED]> wrote:
On Thu, Nov 03, 2005 at 02:01:14PM -0800, Guy With Question wrote:
> Thanks for the clarification.
> 
> So I guess when I am setting connection timeout = 10, what I'm really doing 
> is setting timeout for the Connection Socket.
> 
> What I want to do is set timeout for the data Socket as well. If I don't have 
> the complete response within a time period, say 8 seconds (assuming 
> connection timeout is 2 seconds), then I want my client to stop blocking.
> 

Not quite. If you set the socket timeout to, say, 10 sec, and there's a
packet coming every 9 secs, the connection will never time out. The
socket timeout only ensures that if there's no data coming FOR 10 sec,
the socket will stop blocking. 

Hope this helps

Oleg
PS: in the future please post your questions to the mailing list


> Regards.
> 
> 
> 
> 
> 
> On Thu, 2005-11-03 at 11:47 -0800, Guy With Question wrote:
> > Hello,
> > 
> > Background:
> > I am using HttpClient 3.0 rc4. I am trying to connect to an IIS server 
> > using 
> > SSL. I need to POST data to that server. My connection timeout is set to 10 
> > seconds. When execute method runs, the first response I get is 100 Continue 
> > which is almost immediate, but the HTTP content comes back much after 10 
> > seconds.
> > 
> > Question:
> > I am not sure if HttpClient is using a second connection in the execute 
> > method for sending the actual POST data.
> 
> HttpClient does not use a second connection to execute POST requests
> 
> > 1. If the client uses the same connection to POST data, then will the 
> > timeout 
> > value NOT matter anymore since the client has already recieved 100 Continue 
> > immediately?
> 
> The socket timeout defines the maximum period of inactivity between two
> consecutive incoming IP packets, or in other words the maximum period of
> time the socket can be blocked in a read operation
> 
> The connection timeout defines how long the socket can be blocked
> waiting until the socket is ready to send and receive data. It has no
> effect on read / write operations
> 
> > 2. If it uses another connection, then will that connection also have a 
> > connection timeout of 10 seconds. If yes, then why is it taking longer than 
> > 10 seconds to get my response?
> 
> See above
> 
> > 3. If I want to set the connection timeout = 10 seconds from the time the 
> > first request is made to the time I get a final response, what do I have to 
> > do?
> 
> It all depends what you mean by the connection timeout. The maximum time
> until the response is received in its entirety?
> 
> Hope this helps
> 
> Oleg
> 
> > 
> > Code:
> > 
> > HttpClient httpClient = new HttpClient(new SimpleHttpConnectionManager());
> > 
> > Integer timeout = new Integer(10*1000);
> > 
> > 
> > 
> > httpClient.getHttpConnectionManager().getParams().setParameter("http.connection.timeout",
> > timeout);
> > 
> > httpPostMethod.setRequestBody(data);
> > 
> > int statusCode = httpClient.executeMethod(httpPostMethod);
> > 
> > 
> > 
> > Thanks in advance!
> 
> 
> 
> 
> ---------------------------------
> Yahoo! FareChase - Search multiple travel sites in one click. 

                
---------------------------------
 Yahoo! FareChase - Search multiple travel sites in one click.  

Reply via email to