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

下载图片没有关闭http输入流导致下载超时

时间:2019-01-28 12:07:06      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:根据   第三方   文件   cti   new   netstat   关闭   stat   connect   

在某次接入第三方厂商数据时,需要根据对方提供的URL地址下载图片,当数据量大时会遇到很多的下载图片超时问题,开始以为是第三方厂商的问题,对方排查了很久之后,说是我这边下载数据全部留在缓存区,导致缓存区满了,并通过 netstat -antp 命令查看缓存队列,证明是我这边的问题。通过此命令查看到数据接收队列数值很大,上网查询资料后说是采用了tcp长连接导致的, 于是检查代码,看看下载时是否采用长连接,于是发现下载时没有关闭输入流,修改代码后测试,问题解决。

代码(改前):

 

Url url = new URL(urlStr);

URLConnection urlConnection = url.openConnection();

InputStream in = urlConnection.getInputStream();

//读取流中的数据,写入文件

//函数退出,没有关闭流

代码(改后):

Url url = new URL(urlStr);

URLConnection urlConnection = url.openConnection();

try(InputStream in = urlConnection.getInputStream()){

//读取流中的数据,写入文件

}

//函数退出

 

下载图片没有关闭http输入流导致下载超时

标签:根据   第三方   文件   cti   new   netstat   关闭   stat   connect   

原文地址:https://www.cnblogs.com/chenggang816/p/10297492.html

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