java.net.Exception socketexception: recvfrom a échoué: ECONNRESET (Connection reset by peer)

J'ai un serveur HTTP en Android. Je crée un nouveau fil de discussion pour chacune des requêtes HTTP que dans le lien mentionné:

http://hc.apache.org/httpcomponents-core-ga/httpcore/examples/org/apache/http/examples/ElementalHttpServer.java.

Quand j'ai effectuer plusieurs requêtes GET, parfois je suis une exception comme suit:

01-22 10:28:22.779: W/System.err(2019): java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)  
01-22 10:28:22.779: W/System.err(2019):     at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:552)  
01-22 10:28:22.779: W/System.err(2019):     at libcore.io.IoBridge.recvfrom(IoBridge.java:516)
01-22 10:28:22.779: W/System.err(2019):     at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488)  
01-22 10:28:22.779: W/System.err(2019):     at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)     
01-22 10:28:22.784: W/System.err(2019):     at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)   
01-22 10:28:22.784: W/System.err(2019):     at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)  
01-22 10:28:22.784: W/System.err(2019):     at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)  
01-22 10:28:22.784: W/System.err(2019):     at org.apache.http.impl.io.HttpRequestParser.parseHead(HttpRequestParser.java:71)  
01-22 10:28:22.784: W/System.err(2019):     at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)  
01-22 10:28:22.784: W/System.err(2019):     at org.apache.http.impl.AbstractHttpServerConnection.receiveRequestHeader(AbstractHttpServerConnection.java:141)   
01-22 10:28:22.784: W/System.err(2019):     at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:135)    
01-22 10:28:22.784: W/System.err(2019):     at com.example.devicecommunication.ConnectService$WorkerThread.run(ConnectService.java:744)    
01-22 10:28:22.784: W/System.err(2019): Caused by: libcore.io.ErrnoException: recvfrom failed: ECONNRESET (Connection reset by peer)   
01-22 10:28:22.784: W/System.err(2019):     at libcore.io.Posix.recvfromBytes(Native Method)   
01-22 10:28:22.784: W/System.err(2019):     at libcore.io.Posix.recvfrom(Posix.java:131)   
01-22 10:28:22.784: W/System.err(2019):     at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:164)   
01-22 10:28:22.789: W/System.err(2019):     at libcore.io.IoBridge.recvfrom(IoBridge.java:513)   
01-22 10:28:22.789: W/System.err(2019):     ... 10 more

Je ne suis pas sûr de savoir pourquoi cela se produit. Ci-dessous est le code utilisé et cette exception se produit à handleRequest() la méthode ou dans le connecticut.close().

  class WorkerThread extends Thread{
HttpService httpService;
HttpServerConnection conn;
public WorkerThread(HttpService httpService, HttpServerConnection conn){
super();
this.httpService = httpService;
this.conn = conn;
}       
public void run(){
HttpContext context = new BasicHttpContext(null);
try {
Log.d(TAG,"Going to call Handle request here");
this.httpService.handleRequest(this.conn, context);         
} catch (ConnectionClosedException ex) {
ex.printStackTrace();
Log.d(TAG,"Client closed connection exception");
} catch (IOException ex) {
ex.printStackTrace();
Log.d(TAG,"I/O exceptionnnnn " + ex.getMessage());
} catch (HttpException ex) {
Log.d(TAG,"Unrecoverable HTTP protocol violation: " + ex.getMessage());
}
finally {
Log.d(TAG,"Inside Finally Block");
try {              
this.conn.close(); 
Log.d(TAG,"Connection closed successfully");
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}         
}
}
}

Une idée de pourquoi cela se produit, ou comment peut-il être résolu?

Selon le lien stackoverflow.com/questions/11207394/..., il est dit pour définir le keepAlive à false. J'ai essayé le Système.setProperty("http".KeepAlive","false"); et le problème persiste.

OriginalL'auteur user1741274 | 2013-01-22