java - 当netty连接到我的服务器时?

标签 java netty

我正在使用此处编写的 Channle 池 API 代码:

ChannelPool 部分 http://netty.io/news/2015/05/07/4-0-28-Final.html

EventLoopGroup group = new NioEventLoopGroup();
final Bootstrap cb = new Bootstrap();
InetSocketAddress addr1 = new InetSocketAddress("10.0.0.10", 8888);
InetSocketAddress addr2 = new InetSocketAddress("10.0.0.11", 8888);

cb.group(group).channel(NioSocketChannel.class);

ChannelPoolMap<InetSocketAddress, SimpleChannelPool> poolMap = new AbstractChannelPoolMap<InetSocketAddress, SimpleChannelPool>() {
    @Override
    protected SimpleChannelPool newPool(InetSocketAddress key) {
        return new SimpleChannelPool(cb.remoteAddress(key), new TestChannelPoolHandler());
    }
};

// depending on when you use addr1 or addr2 you will get different pools.
final SimpleChannelPool pool = poolMap.get(addr1);
Future<Channel> f = pool.acquire();
f.addListener(new FutureListener<Channel>() {
    @Override
    public void operationComplete(Future<Channel> f) {
        if (f.isSuccess()) {
            Channel ch = f.getNow();
            // Do somethings
            // ...
            // ...

            // Release back to pool
            pool.release(ch);
        }
    }
});

正如我看到的代码,我们从未调用过 .connect 方法,所以我的问题是 netty 何时尝试将我的 channel 连接到服务器?

最佳答案

当您使用 SimpleChannelPool 时,它会在您调用 acquire 且 ChannelPool 中没有剩余内容时进行连接。

关于java - 当netty连接到我的服务器时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30861561/

相关文章:

java - Netty 中多种数据包类型的解码和编码

java - 提高JAVA中Netty服务器的性能

java - Netty服务器开放http连接限制

java - 访问 AsyncTask 中的浮点值

java - 从 Azure Blob 存储下载 Blob 列表

java - 需要从 JSP 生成 PDF 的建议

java - 如何使用 io.netty.handler.codec.http.multipart.HttpPostRequestEncoder FinalizeRequest

java - 无法从 netty 服务器接收客户端响应

java - 从整数创建 LocalDate 对象

java - 如何通过 java 的 ProcessBuilder 通过 ssh 将参数传递给 pkill?