我已经创建了一个应用程序,该应用程序向URL发送GET请求,然后下载该页面的完整内容。TCP连接不能用于HttpURLConnection的HTTP请求
客户端发送GET给例如并将响应转发给解析器,解析器具有从后续GET请求中查找需要下载的页面中的所有源的责任。
以下方法用于发送这些GET请求。它被连续多次调用,解析器返回URL。这些URL中的大多数位于同一主机上,并且应该能够共享TCP连接。
public static void sendGetRequestToSubObject(String RecUrl)
{
URL url = new URL(recUrl.toString());
URLConnection connection = url.openConnection();
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
}
每次调用此方法时,都会创建一个新的TCP连接(使用TCP 3次握手),然后在该连接上发送GET。但我想重用TCP连接,以提高性能。
我想,既然我创建了一个新的URL每个方法被调用时的对象,这是它去上班的路上...
也许有人可以帮我做这更好的办法?
谢谢!
谢谢!我已经阅读过这份文件,我认为前提条件已经实现。我知道服务器满足它们,因为我试图通过几种不同的浏览器(IE,Chrome,FIrefox)访问URLS,并且在所有情况下,TCP连接都被重用于多个HTTP GET。 – plithner 2011-03-28 16:59:13
我仍然认为我在代码中做错了什么......就像为每个URL创建一个新的URL对象一样。它感觉不对,但我无法以其他方式去做。 – plithner 2011-03-28 17:00:44
@user:由于'URL'对象不能被修改,所以你必须每次创建一个新对象,所以这当然不是问题。 – 2011-03-28 18:31:35