我想在一个Netty应用程序中绑定两个服务器套接字(例如,端口8000,8001)。
我尝试合并DiscardServer和EchoServer示例进行测试。
但是在第一个服务器初始化代码中,
ChannelFuture f = bootstrap1.bind(port).sync();
f.channel().closeFuture().sync(); // <-- program blocks here
程序执行阻塞,因此第二个服务器初始化代码无法访问。
如何使用Netty 4.0启动两个不同的端口服务器?
答案 0 :(得分:1)
只需评论该条款
f.channel().closeFuture().sync(); // <-- program blocks here
答案 1 :(得分:1)
我找到了关于监听多端口服务的答案
答案 2 :(得分:0)
谢谢大家!有效。只为别人,我不得不补充 f.channel()。closeFuture()。sync(); 在第二个bind()之后;
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new HttpServerInitializer(sslContext));
b.bind(4443).sync();
ServerBootstrap b1 = new ServerBootstrap();
b1.group(bossGroupNonSSL, workerGroupNonSSL)
.channel(NioServerSocketChannel.class)
.childHandler(new HttpServerNonSSL());
ChannelFuture f = b1.bind(4080).sync();
f.channel().closeFuture().sync();