[英]Netty and JDK version confliction
我正在使用教程研究netty工具,但是遇到了一個問題,我認為它可能與Netty jar軟件包和JDK的版本有關。 現在,我的jdk是1.8,Netty版本是從netty官方網站下載的netty-all-4.0.0 Final.jar。
以下是錯誤代碼, 我在錯誤行之后使用了注釋 。 因為我不知道如何在代碼段中突出顯示,所以您可能需要仔細注意注釋,幸運的是只有兩行。
EventLoopGroup pGroup = new NioEventLoopGroup();
EventLoopGroup cGroup = new NioEventLoopGroup();
ServerBootstrap b = new ServerBootstrap();
b.group(pGroup, cGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, 1024)
.option(ChannelOption.SO_SNDBUF, 32*1024)
.option(ChannelOption.SO_RCVBUF, 32*1024)
.option(ChannelOption.SO_KEEPALIVE, true)
.childHandler(new ChannelInitializer<SocketChannel>() { // there is an error, which indicates that the generic <SocketChannel> is not a valid substitute according the eclipse automatic prompt
@Override
protected void initChannel(SocketChannel sc) throws Exception {
sc.pipeline().addLast(new ServerHandler()); // there are two errors about the pipeline method and ServerHander construtor
}
});
ChannelFuture cf1 = b.bind().sync();
cf1.channel().closeFuture().sync();
pGroup.shutdownGracefully();
cGroup.shutdownGracefully();
我懷疑您在此處導入了錯誤的SocketChannel
。 這需要是io.netty.channel.socket.SocketChannel
但是您很可能使用了java.nio. SocketChannel
java.nio. SocketChannel
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.