Netty多客户端

时间:2015-02-23 17:01:26

标签: java netty

我用netty构建了一个tcp服务器。

  • 我想要客户端构建连接(网络约束)
  • 我希望永远不要关闭频道(因为我需要随时通过服务器写入频道)
  • 我有很多客户。
  • 我启动服务器侦听一个端口(例如:9090)

建立连接后,netty如何接收另一个客户端的新连接? 所有流量都通过服务器端口或netty使用另一个端口选择客户端连接?

1 个答案:

答案 0 :(得分:1)

Netty服务器从同一IP:您已配置的端口接收连接。因此,来自客户端的任何新连接都是相同的IP:服务器的端口。

这是客户的小代码。如您所见,所有客户端都将运行与同一主机和端口的连接。

Bootstrap b = new Bootstrap();
b.group(group)
  .channel(NioSocketChannel.class)
  .option(ChannelOption.TCP_NODELAY, true)
  .handler(new SecureChatClientInitializer(sslCtx));

  // Start the connection attempt.
  Channel ch = b.connect(HOST, PORT).sync().channel();

对于连接,客户端将具有随机部分,服务器将使用您已配置的端口(例如[id:0xb47c8fca,/10.0.1.100:588963 =&gt; /10.0.1.20:9090])< / p>

希望有所帮助。