Я настраиваю клиентское приложение по netty и хочу общаться с другим сервером.Перед установкой связи каждое TCP-соединение должно отправить сообщение для входа в систему.И затем, эти tcp-соединения могут отправлять другие сообщения.
Я использую FixedChannelPoolMap, чтобы поддерживать свои каналы для мультиплексирования. Согласно количеству соединений, войдите в систему всех соединений в пуле при запуске моей программы.
Выглядит хорошо.Но после нескольких дней развертывания приложения запрос не может вызвать функцию получения, выбирающую старый канал, у которого был вход в систему, но вызывает функцию создания, создающую новый канал.вот так
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 без создания нового канала?