Netty 4 несколько клиентов

Мне нужно, чтобы клиент мог создавать множество соединений. Я использую Netty 4.0. К сожалению, все существующие примеры не показывают, как создавать множество соединений.

public class TelnetClient { private Bootstrap b; public TelnetClient() { b = new Bootstrap(); } public void connect(String host, int port) throws Exception { try { b.group(new NioEventLoopGroup()).channel(NioSocketChannel.class).remoteAddress(host, port).handler(new TelnetClientInitializer()); Channel ch = b.connect().sync().channel(); ChannelFuture lastWriteFuture = null; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); for (;;) { String line = in.readLine(); if (line == null) break; lastWriteFuture = ch.write(line + "\r\n"); if (line.toLowerCase().equals("bye")) { ch.closeFuture().sync(); break; } } if (lastWriteFuture != null) lastWriteFuture.sync(); } finally { b.shutdown(); } } public static void main(String[] args) throws Exception { TelnetClient tc = new TelnetClient(); tc.connect("127.0.0.1", 1048); tc.connect("192.168.1.123", 1050); //... } } 

Это правильное решение? или это может быть лучше?

Да, это почти правильно. Единственное, что вы ДОЛЖНЫ изменить, это создание NioEventLoopGroup на каждом подключении.

Экземпляры NioEventLoopGroup дороги, поэтому их следует использовать совместно. Создайте один экземпляр и поделитесь им, передав один и тот же экземпляр в Bootstrap.group (…) каждый раз ..