1

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

4

2 回答 2

3

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

如果持久连接是强制性的(但我​​真的不明白是什么迫使你这样做),你必须使用 TCP 协议......你将无法在服务器端使用 servlet但是一个特定的应用程序监听特定的 TCP 端口。

于 2010-10-20T05:15:52.247 回答
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您希望在后续请求中重新访问的内容时,会话管理才会出现。这似乎不是这里的情况。

于 2010-10-21T15:34:33.877 回答