我有以下来源:https://hastebin.com/ovekebahij.java
bootstrap.group( eventLoopGroup )
.channel( serverSocketChannelClass )
.option( ChannelOption.SO_KEEPALIVE, true )
.handler( new ChannelInitializer<NioServerSocketChannel>() {
@Override
protected void initChannel( NioServerSocketChannel nioServerSocketChannel ) throws Exception {
callback.onSuccess( preparePipeline( nioServerSocketChannel ) );
}
});
我不知道为什么但我的日志告诉我,服务器已成功启动。每当我尝试连接客户端时,它都表示它无法连接......任何人都有想法吗?
感谢您的每一份贡献。
答案 0 :(得分:0)
因为你的服务器引导方法没有阻塞,所以在绑定后关闭套接字。
您应该将代码更改为:
Channel channel = bootstrap.bind(...).sync().channel();
...
channel.closeFuture().sync()
这将确保该方法仅在套接字关闭后才会返回。