ApacheMinaを使用してTCPクライアントを作成しました。ポートの活性を常にチェックするために、whileループを追加しました。サーバー側で接続が確立されると、ループが切断され、接続が確立されます。私は将来からセッションを取得し、それを使用して通信します。これを行うためのより良い方法はありますか?ループの代わりに、接続がアップするまで待つように要求できますか。
while(true){
try {
ConnectFuture future = ioConnector.connect(new InetSocketAddress(Port),
new TriggerReceiverHandler(), SOCKET_CONFIG);
System.out.println("Message Receiver started and listening on port "+ Port);
Thread.sleep(1000);
session = future.getSession();
if(session != null)
break;
} catch (InterruptedException e) {
e.printStackTrace();
}catch(Exception ce){
if(ce.getCause() instanceof ConnectException)
System.out.println("Retrying connection");
}
}
もう1つの質問は、サーバーがダウンしていて、サーバーがアップするまで接続を待機し続けたい場合、どうすればよいですか?