如何处理Volley请求NoTimeout

时间:2018-05-09 07:18:20

标签: android httprequest android-volley

你好这可能不适合这个,但它是当时最好的。

我正在向我的服务器发出Volley Post String请求而不重试,以避免重复发送。我设置了重试策略,一切都很花哨。

stringRequest.setRetryPolicy( new DefaultRetryPolicy(
            0,
            -1,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT ) );

然而事实是,如果我发送的数据(可能是任何东西,base64string等)很小,它肯定会在超时之前执行,并且我从服务器得到响应。

然而,当它变得有点笨重时,所有数据仍然被发送(我在db(文本)中看到它们,并且图像被上传到文件夹),可能只需要一段时间但我从未得到回复。我的日志显示

D/Volley: [15210] BasicNetwork.logSlowRequests: HTTP response for request=<[X] http://example.com/api/report 0x82d7b19 NORMAL 1> [lifetime=74996], [size=121], [rc=200], [retryCount=0]

但响应或错误监听器显示/说什么都没有,这样我就无法提醒用户注意任何事情,甚至隐藏进度对话框。

有没有人经历过这个,你会推荐什么?以下是我尝试过的其他设置

stringRequest.setRetryPolicy( new DefaultRetryPolicy(
        DefaultRetryPolicy.DEFAULT_TIMEOUT * 2,
        0,
        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT ) );

stringRequest.setRetryPolicy( new DefaultRetryPolicy(
        30000,
        0,
        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT ) );

如上所述,我感觉如果我正在传输的数据在超时之前执行,我得到一个响应,但除此之外的任何事情,我没有得到回复,但信息仍在处理中。我也尝试记录凌空错误以防万一,但没有,所以我需要你帮我搞清楚。

0 个答案:

没有答案