【问题标题】:How to set connection timeout for volley?如何为凌空设置连接超时?
【发布时间】:2014-11-18 14:54:06
【问题描述】:

我知道 volley 有重试策略,但我知道,这是针对套接字超时,而不是针对连接超时,Apache HttpClient 有 setConnectionTimeout 和 setSoTimeout 方法,有人知道我是否想为 volley 框架设置连接超时.

【问题讨论】:

  • 你检查过这个link

标签: android timeout android-volley


【解决方案1】:

你必须打开包com.android.volley.toolbox;下的HttpClientStack,然后在函数体performRequest你可以改变

  HttpConnectionParams.setConnectionTimeout(httpParams, your time);
  HttpConnectionParams.setSoTimeout(httpParams, your time);

希望对你有帮助。

【讨论】:

  • 连接超时默认设置为 5000,但实际超时发生在 40 秒后。如何设置连接超时。
【解决方案2】:

如果您想设置任何现有 HTTPClient 的参数(例如 DefaultHttpClient 或 AndroidHttpClient),您可以使用setParams().

HttpGet httpGet = new HttpGet(url);
HttpParams httpParameters = new BasicHttpParams();

int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);

int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpResponse response = httpClient.execute(httpGet);

//在此之后设置参数

httpClient.setParams(httpParameters);

参考这个: How to set HttpResponse timeout for Android in Java

【讨论】:

  • 希望对您有所帮助!
  • 在我问之前我已经看到了。但我认为 RetryPolicy 只是用于套接字超时,而不是用于连接超时。也许我理解错了连接超时和套接字超时之间的区别???很困惑,,,
  • 参考是正确的,我在源代码中找到了这个。
猜你喜欢
  • 1970-01-01
  • 2014-07-28
  • 2017-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 2013-01-24
  • 1970-01-01
相关资源
最近更新 更多