我有以下来源: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 ) );
}
});
我不知道为什么,但是我的日志说我,服务器已成功启动。每次我尝试连接客户端时,都说它无法连接...任何人都有想法?
感谢您的每项贡献。
是因为您的服务器bootstrap方法不会阻塞,因此在绑定后关闭套接字。
您应该将代码更改为:
Channel channel = bootstrap.bind(...).sync().channel();
...
channel.closeFuture().sync()
这将确保该方法仅在关闭插座后才返回。