如何重用HttpUrlConnection?

时间:2013-04-27 20:42:02

标签: java http servlets httpurlconnection

我有兴趣重用一个HttpUrlConnection(作为我正在开发的服务器和客户端之间的状态协议的一部分)。 我知道持久性http有一个Connection = keep-alive标头。 现在,我想知道如何重用这种结合。 我写了这段代码:

URL u = new java.net.URL("http://localhost:8080/Abc/Def");
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setRequestProperty("Connection", "keep-alive");
c.setHeader("A","B");
c.getInputStream() //here I see that server gets my messages (using DEBUG)
c.setHeader("B","C"); //

现在我如何将这个“B”标题重新发送到服务器,我尝试重新连接等,但没有任何东西能让它工作。

服务器也执行response.setHeader("Connection", "keep-alive");

我在许多论坛上看过,但没有人写过这个。也许HttpURLConnection无法解决这个问题?

1 个答案:

答案 0 :(得分:43)

你没有。你关闭这个并创建一个新的。它在幕后进行TCP连接池和keepalive。