码迷,mamicode.com
首页 > 移动开发 > 详细

Android或者Java发送Http自动重发请求的解决方案

时间:2016-10-25 14:25:55      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:客户端   自动   handle   nbsp   ted   eth   androi   int   时间   

今天遇到奇葩问题,描述如下:

客户端向服务端发起了一次(从日志中可以看出仅仅打印了一次日志),但是确在后端出现了重复的几次请求数据在后端。这个问题很不容易出现,而且用中文搜索不到相应的结果;

 

 

今天在国外的网站中找到了问题的解决方案:

原因如下:由于设置了链接与获取数据的超时时间,客户端在发送数据之后,检测到可能并没有发送成功到后端,这个时候http底层会自动重发请求(注意是Http底层,所以应用端不会知道发送了多次请求)。如果应用端自动重发了多次请求,后端也回复了多次请求,但是前段仅仅会只回复1次请求。所以为了解决这个问题,只要在DefaultHttpClient设置如下代码即可解决:

 

 

defaultHttpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(0, false));

 

Android或者Java发送Http自动重发请求的解决方案

标签:客户端   自动   handle   nbsp   ted   eth   androi   int   时间   

原文地址:http://www.cnblogs.com/zhengtu2015/p/5996223.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!