Netty Server,同时需要成为客户端

时间:2018-11-19 15:42:20

标签: networking netty

我想创建一个服务器以允许客户端连接,因此从这一点来看,它仅是服务器。但是,与此同时,此服务器-我们称它为“服务器A”-它需要连接到另一台服务器(我称其为“服务器B”)以报告其自身的信息,而不是作为从其中路由数据的代理客户端到“服务器B”,仅报告“我仍然在线”之类的信息。

因此,许多客户端将连接到“服务器A”,而“服务器A”将作为客户端连接到“服务器B”。如何使用Netty做到这一点?

我阅读了netty的代理示例,但是我认为代理服务器在收到客户端的临时连接时正在创建客户端。但是为此,我需要在“服务器A”上使用专用的客户端角色,而不是那样。帮帮我,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用channelActive或服务器A处理程序的任何其他方法将客户端引导到服务器B。然后,一旦客户端启动成功,您就可以使用客户端将任何消息发送到服务器B。

一个例子在这里: https://github.com/normanmaurer/netty-in-action/blob/2.0-SNAPSHOT/chapter8/src/main/java/nia/chapter8/BootstrapSharingEventLoopGroup.java

您可以为childHandler设置handler,而不是为服务器设置ServerChannel。那么它的方法将只为服务器调用一次,而不是为每个客户端连接调用。