【发布时间】:2013-07-05 00:50:33
【问题描述】:
在 Java 中,我想每 5 秒发送一次 HttpPost 而无需等待响应。我该怎么做?
我使用以下代码:
HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
StringEntity params = new StringEntity(json.toString() + "\n");
post.addHeader("content-type", "application/json");
post.setEntity(params);
httpClient.execute(post);
Thread.sleep(5000);
httpClient.execute(post);
但它不起作用。
即使我失去了前一个连接并建立了一个新连接来发送第二个,第二个执行功能总是被阻塞。
【问题讨论】:
-
这段代码是否在循环中?
-
它不起作用不是诊断。 “被阻止”和“不起作用”到底是什么意思?
-
"blocked" 表示 "httpClient.execute(post)" 将一直等待数据(或响应),如果没有,它将一直被阻止,它不起作用意味着 -- 如果我像这样运行我的程序,我会得到异常:java.lang.IllegalStateException:BasicClientConnManager 的使用无效:连接仍然分配。确保在分配另一个连接之前释放连接。
标签: java