排球长HTTPS请求从未响应

时间:2019-04-24 07:38:58

标签: java android https android-volley response

我创建了一个齐射请求以接收 HTTPS 后端。

RequestQueue queue = Volley.newRequestQueue(uiCallback.getContext(),
    new SSLVerification().getHurlStack(uiCallback.getContext()));

JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET,
    requestUrl, null, new Response.Listener<JSONObject>() {
    ...
}
req.setRetryPolicy(new DefaultRetryPolicy(3_600_000, 0, 0));

queue.add(req);

在清单中,我添加了以下Internet权限:

<uses-permission android:name="android.permission.INTERNET" />

一切都很好,可以处理短时间的请求。

但是,如果在请求后3分钟内收到响应,则应用程序什么也收不到。

在后端,我设置了一个断点。 3分钟后,我让后端将响应发送给应用程序,但没有任何反应。没有成功,没有错误,什么都没有。

如果我在没有SSLVerification的情况下发出了 HTTP 请求,那么6分钟后我也会收到响应。相反, HTTPS 请求超过3分钟只是不想工作。

更改RetryPolicy以发出许多请求,这只是一种解决方法,不是一种选择。

3 个答案:

答案 0 :(得分:3)

响应时间太长,无法在设备中接收到,因此import numpy as np from scipy.io.wavfile import write, read class Sound: def __init__(self): pass def test_method (self): # a method that uses variables from both subclasses class Audio(Sound): def __init__(self,amplitude,sample_rate): Sound.__init__(self) self.amplitude=amplitude self.sample_rate=sample_rate class Envelope(Sound): def __init__(self, atk, dec, sust, rel): Sound.__init__(self) self.atk = atk self.dec = dec self.sust = sust self.rel = rel (Fs1, rawData1) =read('MySine.wav') mySound1= Audio (rawData1,Fs1) myEnv1= Envelope([0.1,1.0],[0.2,0.4],[0,0.3],[0.18,0]) 具有Volley。在向服务器发送请求之前,您需要修改默认超时值,如下所示。

TimeoutError

答案 1 :(得分:1)

尝试一下

req.setRetryPolicy(new DefaultRetryPolicy(90000, 1, 1f));

答案 2 :(得分:0)

如果我发出没有SSLVerification的HTTP请求,那么6分钟后我也会收到响应。相反,HTTPS请求超过3分钟只是不想工作。

这可以表明您的服务器是否超时?

Occasionally, Volley fails to return a response from the server