0

我想在一个 Netty 应用程序中绑定两个服务器套接字(例如端口 8000、8001)。

我尝试合并 DiscardServer 和 EchoServer 示例进行测试。

但是在第一个服务器初始化代码中,

ChannelFuture f = bootstrap1.bind(port).sync();
f.channel().closeFuture().sync(); // <-- program blocks here

程序执行阻塞,因此第二个服务器初始化代码无法访问。

如何使用 Netty 4.0 启动两个不同的端口服务器?

4

2 回答 2

1

只评论条款

f.channel().closeFuture().sync(); // <-- program blocks here
于 2013-11-07T11:16:02.023 回答
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();
于 2020-03-10T22:39:07.483 回答