我的 android 应用每 10 秒向一个 servlet 发送数据。servlet 接收到第一个请求并做出响应。但是 servlet 没有收到客户端在接下来的 10 秒后发送的第二组数据。有人可以请告诉我我该怎么做。它与会话有关吗?
问问题
955 次
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 回答