"Ephemeral"に頼るのではなく、DefaultLocalServerChannelFactoryで作成したLocalChannelサーバーに接続するときに明示的なローカルアドレスを指定できます。ClientBootstrapを使用してLocalChannelに明示的なローカルアドレスで接続する
(これは、複数の接続を行い、サーバーが関連する接続をグループ化するためにリモートアドレスを使用できるようにするためです)。
私はちょうど変え、供給LocalExampleクラスを適応させる場合:
ChannelFuture channelFuture = cb.connect(socketAddress);
へ:
ChannelFuture channelFuture = cb.connect(socketAddress, new LocalAddress("C1"));
チャネルはClientBootstrapで最初にバインドされたため、(すでにバインド)チャネル例外がスローされ、それが接続されたときに常にチャンネルをバインドするLocalClientChannelSinkによって再び呼び出されます。
例外を無視すると、すべてが機能しているように見え、チャネルのエンドポイントにデフォルト以外のローカルアドレスがあります。
しかし、私はすべての可能な
これは、3.4.2.Finalで修正されています。 –