2017-07-07 9 views
1

UNIXサーバでvertxを実行すると問題が発生します。完全なメッセージが受信されると、終了ハンドラは機能しません。UNIXクライアントのhttpクライアント

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サーバでのエラーを説明するデモです –

関連する問題