Jaka jest różnica między trzema (oznaczone jako komentarze):Jaka jest różnica między setConnectionTimeout, setSoTimeout i "http.connection-manager.timeout" w apache httpclient API
MultiThreadedHttpConnectionManager connManag = new MultiThreadedHttpConnectionManager();
HttpConnectionManagerParams managParams = connManag.getParams();
managParams.setConnectionTimeout(connectiontimeout); // 1
managParams.setSoTimeout(sotimeout); //2
HttpMethodBase baseMethod = null;
try {
HttpClient client = new HttpClient(connManag);
client.getParams().setParameter("http.connection-manager.timeout", poolTimeout); //3
baseMethod = new GetMethod(…);
int statusCode = client.executeMethod(…);
…
}
catch (ConnectTimeoutException cte){
//Took too long to connect to remote host
}
catch (SocketTimeoutException ste){
//Remote host didn’t respond in time
}
catch (Exception se){
//Some other error occurred
}
finally {
if (baseMethod != null)
baseMethod.releaseConnection();
}
1. setConnectionTimeout
- jeśli określa limit czasu do momentu ustanowienia połączenia.
2. setSoTimeout
- jeśli stwierdzi okres bezczynności lub różnicy czasu między dwoma kolejnymi pakietami,
To co robi poniżej jednego zrobić:
3. "http.connection-manager.timeout"
Co mówią doktorzy? Czy oni milczą? –
@Marko Nie jestem w stanie tego zrozumieć, dlatego zamieszczono tutaj – Prateek
Powinieneś przynajmniej wspomnieć, że je przeczytałeś i wskazać konkretne aspekty, które Cię niepokoją. W ten sposób Twoje pytanie wygląda tak, jakbyś po prostu prosił nas, abyśmy przeczytali Ci dokumenty. –