2012-05-07 3 views
0

現在ローカルアドレス 'x'で接続を受け付けているバインドされたサーバーチャネルがあります。私は今、リモートアドレス「y」への接続を開始する必要がありますが、ローカルアドレスも「x」にする必要があります。ローカルチャネルファクトリとローカルアドレスで作業するとき、ローカルアドレス= 'x'で新しいクライアント接続を作成しようとすると「アドレスはすでにバインドされています」というエラーが表示されます。意味あり。Netty - バインドされたサーバーチャネルと同じリスニングアドレスで新しい接続を開始する

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

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

おかげで、 ダニエル

答えて

0

プロキシを書いていますか?もしそうなら、網はexample appです。

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

// 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); 
+0

いいえ私はプロキシを作成していません。私の問題は、新しい接続のローカルリスンアドレスがサーバーチャネルのバインドリスニングアドレスと同じであることです。この例ではそうではありません。 –

関連する問題