Netty を使用して、UDP メッセージをサーバーに送信するクライアント アプリケーションを作成しています。要するに、このコードを使用してストリームをチャネルに書き込みます。
ChannelFuture future = channel.write(request, remoteInetSocketAddress);
future.awaitUninterruptibly(timeout);
if(!future.isDone()){
//abort logic
}
すべて正常に動作しますが、1 つだけ、書き込みを失敗させることができないため、中止ロジックをテストできません。つまり、サーバーがダウンしていても、未来は正常に完了します。書き込み操作には通常約 1 ミリ秒かかるため、タイムアウトを非常に短く設定してもあまり効果がありません。
await() 呼び出しの代わりに非同期モデルを使用するのが好ましい方法であることはわかっていますが、私のシナリオでは同期する必要があり、ある時点で確実に終了する必要があります。
未完成の未来をシミュレートする方法を知っている人はいますか?
よろしくお願いします!んん