我创建了一个齐射请求以接收 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
以发出许多请求,这只是一种解决方法,不是一种选择。
答案 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