0

現在、ローカル アドレス 'x' で接続を受け入れているバインドされたサーバー チャネルがあります。ここで、リモート アドレス「y」への接続を開始する必要がありますが、ローカル リスニング アドレスも「x」にする必要があります。ローカル チャネル ファクトリとローカル アドレスを操作しているときに、ローカル アドレス = 'x' で新しいクライアント接続を確立しようとすると、'address already bound' エラーが発生します。意味あり。

そこで私の次のルートは、サーバー チャネルから新しい子接続を作成する方法を見つけようとしていましたが、これは最終的にはネットの内部コードに少し深く入り込みすぎて、悪いルートのように思えました。以前、ローカル クライアント接続に関するバグを見たことを覚えています。

  • これはローカル チャネルの単なるバグですか?
  • Netty でバインドされたアドレスから接続を開始することは可能ですか?

ありがとう、ダニエル

4

1 に答える 1

0

プロキシを書いていますか?もしそうなら、ここにネットの例のアプリがあります。

クライアントとサーバーに異なるチャネルファクトリを設定する必要があることに注意してください。

    // Configure the bootstrap.
    Executor executor = Executors.newCachedThreadPool();
    ServerBootstrap sb = new ServerBootstrap(
            new NioServerSocketChannelFactory(executor));

    // Set up the event pipeline factory.
    ClientSocketChannelFactory cf =
            new NioClientSocketChannelFactory(executor);
于 2012-05-07T01:16:08.183 に答える