我在Unix服务器上运行vertx时遇到问题。收到完整消息时,结束处理程序不起作用。
HttpClientRequest request = client.post (8580, "localhost", "/", response ->
{
if (response.statusCode () == 200) {
response.handler (t -> {
LOG.info ("RECEIVE DATA: " + t.toString ());
});
response.endHandler (t -> {
LOG.info ("endHandler: DONE"); //DO NOT PRINT ON LOG FILE
});
} else {
LOG.info ("Sent error:"+response.statusMessage ());
}
});
我的源演示:https://github.com/blueskyvn/vertx_client。
- 请求完成后,您应该关闭 HTTP 客户端。因此,将
client.close();
行移动到响应处理程序。 - 将用于使用 HTTP 客户端的整个代码移动到顶点。您可以将其移动到
HttpVerticle
类,并在服务器启动后调用它。使用带有回调的侦听方法。