迅雷之坑:java.io.IOException: 你的主机中的软件中止了一个已建立的连接

废话不多说,直入主题。记录的原因是:

控制台抛错,java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

并不是网上说的什么tomcat超时之类的,就是请求发了两次,但是他的
其实很机缘巧合,换了个QQ浏览器而不是chrome浏览器。今天debug的时候发现一个问题,一开始我以为看错了。QQ浏览器下载会自动调用迅雷,而chrome不会。
刚好有个导出的功能,在QQ浏览器测试的时候,调用了迅雷,发现导出方法走了两次。我都在纳闷,不是都debug过了吗 怎么又走了一遍。。。然后就看到控制台报错。
其原因就是迅雷拦截了原先的请求,重新发起了一次请求。至于为什么说是重新发起了请求,请看下面。

但是具体内部原因我不知道了。。恕我太菜。

哦对了 把这个锅甩给迅雷,有点对不起迅雷 23333
详细如下图。

 

  1. QQ浏览器,点击导出,跳到断点位置,一切正常迅雷之坑:java.io.IOException: 你的主机中的软件中止了一个已建立的连接
  2. 直接F9,跳完断点(IDEA)
  3. 弹出迅雷的下载框,只有几百B,肯定不是正确的文件。这个时候控制台已经报错了。迅雷之坑:java.io.IOException: 你的主机中的软件中止了一个已建立的连接
  4. 迅雷下载框点击确认后,我判断的理由来了。我跳过的断点,又卡在了断点位置,说明又重新请求了一次。可以看到迅雷是没有下载的,一直是0%迅雷之坑:java.io.IOException: 你的主机中的软件中止了一个已建立的连接
  5. 直接F9,迅雷又弹出下载框,这个时候文件大小是正常的了,几M。
  6. 直接下载完成迅雷之坑:java.io.IOException: 你的主机中的软件中止了一个已建立的连接