2017-07-07 33 views
1

在Unix服務器上運行vertx時出現問題。當收到完整的消息時,結束處理程序不起作用。unix中的http客戶端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

回答

1
  1. 請求完成後,您應該關閉HTTP客戶端。因此,將client.close();行移動到響應處理程序。
  2. 將整個用於HTTP客戶端的代碼移動到Verticle。您可以將其移動到您的課程HttpVerticle並在服務器啓動後調用它。回撥使用listen方法。
+0

謝謝你的建議。這個項目是一個演示來描述我在Unix服務器上的錯誤 –