首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与java URLConnection的几个TCP连接

与java URLConnection的几个TCP连接
EN

Stack Overflow用户
提问于 2011-04-06 01:41:21
回答 2查看 622关注 0票数 0

我已经做了一个简单的HTTP客户端,它下载一组从网页解析的URL。

我的问题是,与真正的浏览器(IE,Firefox,Chrome)相比,下载速度很慢。尤其是在页面包含许多对象的情况下。

我注意到(使用wireshark)很多时候,真正的浏览器在开始加载页面后,会在同一毫秒内立即建立5-10个TCP连接。然后,这些连接将同时存在一段时间。

我的客户端还将设置并发的TCP连接(并且它将重用TCP连接),但并不是如此积极。我猜这是我的客户速度慢的原因之一。

在读取输入流之前,我已经尝试创建了几个URLConnections,但这对我不起作用。我没有经验,所以我可能做错了。

有没有人知道用URLConnection做这件事的方法(模仿浏览器在TCP连接设置方面所做的事情)?

EN

回答 2

Stack Overflow用户

发布于 2011-04-06 01:48:21

我推荐使用HttpClient:

http://hc.apache.org/httpcomponents-client-ga/

它支持内部连接管理,池化等。浏览器往往有这样的东西。

自从我上次使用以来,情况可能已经发生了变化,但UrlConnection在生产应用程序上运行得并不好。例如。它没有一个干净利落的方法来关闭它。

票数 0
EN

Stack Overflow用户

发布于 2011-04-06 01:55:55

我也推荐使用高性能的网络库,比如Apache Mina。这将自动为您创建线程池,并为您节省大量时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5556081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档