0

netty プロキシの例 ( https://github.com/netty/netty/tree/master/example/src/main/java/io/netty/example/proxy ) を読みましたが、2 つの要件があります。

  1. プロキシ→サーバーで固定カウント接続を使いたい。プロキシの例では、proxy->server conn. count は client->proxy conn と同じです。カウント。多すぎるかもしれません。

  2. client->proxy 接続が終了すると、proxy->server 接続を維持する必要があります。また、新しい client->proxy 接続が確立されたら、proxy->server 接続を再利用します。

どのように実装できますか?

4

2 に答える 2

0

最初の要件は、 DefaultChannelGroupを使用してチャンネルを保存することで、かなり簡単に実現できます。ChannelHandler着信接続を受け入れる が であると仮定するとsingleton、次のコードを使用できます。

    // initialize channelgroup in your singleton handler
ChannelGroup ALL_CONNECTIONS = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);

...
@Override    
public synchronized void channelActive(ChannelHandlerContext ctx) throws Exception 
{        
    if(ALL_CONNECTIONS.size() > 100){
        ctx.channel().close();// dont accept further connections
    }else{
        ALL_CONNECTIONS.add(ctx.channel());
        // do whatever logic.
    }
}

2番目の要件については、「接続プーリング」を考えていると思います。もしそうなら、それは素晴らしい考えではないと思います。新しいクライアントがサーバーに「接続」するとき、それはネットワークの外部から来るため、常に新しい接続です。ただし、これについてはよくわかりません。詳しい人が答えてくれます。

于 2013-10-04T19:14:43.727 に答える