ChannelInboundMessageHandlerAdapter找不到符号



我试着根据这个例子做一个简单的聊天程序。

import io.netty.channel.ChannelHandlerContext;
public class ChatClientHandler extends ChannelInboundMessageHandlerAdapter<String>
{
}

我得到cannot find symbol错误。我也尝试将SimpleInboundHandlerAdapter更改为SimpleInboundHandlerAdapter,但结果相同。

ChannelInboundMessageHandlerAdapter在上一个版本中不支持。如果你想使用ChannelInboundMessageHandlerAdapter,你必须将netty版本更新到4.0.0.CR3在maven中,您必须添加以下依赖项才能使用这个类

<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
   <dependency>
     <groupId>io.netty</groupId>
     <artifactId>netty-all</artifactId>
     <version>4.0.0.CR3</version>
</dependency>

或者更好的是你可以升级到最新的稳定版本。现在是4.1.5。最后…

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.1.5.Final</version>
</dependency>

和扩展SimpleChannelInboundHandler而不是ChannelInboundMessageHandlerAdapter,如下所示:

public class ChatClientHandler extends SimpleChannelInboundHandler<String> {
@Override
protected void channelRead0(ChannelHandlerContext ctx, String msg) throws Exception {
    System.out.println("Te fuiste para lo de Visconti: " + msg);
}

}

请记住,channelRead0方法名称将在5.0版本中重命名为messagerreceived (ChannelHandlerContext, I)

相关内容

  • 没有找到相关文章

最新更新