hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: Detecting connection interruptions for uploads
Date Fri, 10 Oct 2008 10:22:29 GMT
On Wed, 2008-10-08 at 11:15 -0700, David Zhao wrote:
> Will switching to HttpClient 4.0 with the NIO option solve this issue?  
> Or could I use NIO transport in HttpClient 3.1?
> 

David,

Neither HttpClient 3.1 nor HttpClient 4.0 support non-blocking HTTP.
HttpCore (a set of low level components HttpClient 4.0 is based on)
provides NIO based components for the most fundamental transport
aspects. However, HttpCore does not provide support for advanced HTTP
functionality such as state (cookie) management, connection pooling and
authentication. 

Oleg

> Thanks,
> 
> -David
> 
> On Oct 8, 2008, at 8:18 AM, Oleg Kalnichevski wrote:
> 
> > On Tue, 2008-10-07 at 13:35 -0700, David Zhao wrote:
> >> Hi,
> >>
> >> I'm using http-client 3.1 in a java desktop client. I've noticed an
> >> issue with doing file uploads while getting connection interrupted,
> >> for example, a wifi connection that is no longer available. When that
> >> happens, my client would freeze in FilePart#sendData where it times
> >> out in the write method of java Socket.
> >>
> >> After digging around, I found this article:
> >> http://209.85.173.104/search?q=cache:7lA5d6FTgzYJ:https://lists.spline.inf.fu-berlin.de/lurker/message/20071121.145132.dd820d54.es.html+SocketOutputStream+does+not+time+out&hl=en&ct=clnk&cd=1&gl=us&client=safari
> >>
> >> which describes:
> >> ------------------------------------
> >> AFAIKS, the actual problem here is:
> >> java.net.SocketOutputStream.write() is
> >> always a blocking operation, and it is also not by the java socket  
> >> API
> >> to
> >> specify a timeout for write operations. Thus, it is simply not
> >> possible to
> >> return from SocketOutputStream.write() until all data are transferred
> >> or the
> >> TCP Stack gives up.
> >> ------------------------------------
> >>
> >> Does anyone know of a work around for this issue?
> >>
> >
> > I suspect the only option would be to use a NIO based transport.
> >
> > Oleg
> >
> >> Thanks,
> >>
> >> -David
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> >> For additional commands, e-mail: httpclient-users-help@hc.apache.org
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> > For additional commands, e-mail: httpclient-users-help@hc.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: httpclient-users-help@hc.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message