系统部署要求,APP要部在内网,外网必须通过一次Web代理转发进来.就用Servlet + HttpClient 代理;
在内网测试的时挺正常的;上生产经常发现下载8M以上的文件就会出现Socket Colse Exception;
跟踪了好几天才发现不超过60s时就能下载,已超过60s是就会出现Socket Close Exception,
Client 到时设置了connectionManager.getParams().setConnectionTimeout(60000);
但是又没设置Response 60s超时;
开始怀疑是不是防火墙导致的;试了试直接从Web下载用了3分钟也正常;
最后只能怀疑是HttpClient 60s超时的,没办法把HttpClient 用 UrlConnection 重写了,
竟然正常了.
时间: 2024-10-11 05:25:28