保持持久的http连接

时间:2010-10-20 04:55:55

标签: java android servlets httpsession

我的Android应用每隔10秒就会向servlet发送一次数据。 servlet接收第一个请求并作出响应。但是servlet没有收到客户端在接下来的10秒后发送的第二组数据。有人可以打电话给我,我该怎么做呢。它与会话有关吗?

2 个答案:

答案 0 :(得分:3)

Http不是持久连接协议。您应该考虑为您需要发送的每组数据发出一个http请求。

如果持久连接是强制性的(但我​​真的没有看到会强迫你做什么),那么你必须使用TCP协议...而且你将无法使用servlet服务器端,但是特定的应用程序正在侦听特定的TCP端口。

答案 1 :(得分:0)

这听起来就像是重用现有的URLConnection,而不是为每个请求创建一个新的,并且您通过空catch块来抑制异常/或忽略了stderr。

对于每个独立请求,您必须创建 URLConnection

URL url = new URL("http://example.com");

// First request.
URLConnection connection1 = url.openConnection();
// Process it...

// Second request.
URLConnection connection2 = url.openConnection();
// Process it...

// Etc...

当servlet在HttpSession中存储您希望在后续请求中重新访问的内容时,会话管理才会出现。这似乎不是这种情况。