Netty的FixedChannelPoolMap无法维护旧频道吗?

时间:2019-04-18 13:16:37

标签: java tcp network-programming netty

我正在通过netty设置客户端应用程序,并希望对其他服务器进行社区化。在进行通信之前,每个tcp连接都需要发送一个登录消息进行登录。然后,这些tcp连接可以发送其他消息。

我使用FixedChannelPoolMap维护我的通道以进行多路复用, 根据连接计数,在我的程序启动时登录池中的所有连接。

看起来不错。但是在部署了几天后, 请求无法调用获取功能获取已登录的旧频道 但是调用create函数会创建一个新渠道。这样,

channel[] ch;
for (int i = 0; i < 10; i++) {
    Future<Channel> channelFuture = pool.acquire().sync();
    if (channelFuture.isSuccess()) {
        ch[i] = channelFuture.getNow()
        ch[i].writeAndFlush(LOGIN_REQ);
    }
}

for (int i = 0; i < 10; i++) {
    pool.release(ch[i])
}

这正常吗?如何在不创建新频道的情况下控制FixedChannelPoolMap?

0 个答案:

没有答案