SimpleInboundHandlerAdapter

SimpleInboundHandlerAdapter

我试图在此基础上制作简单的聊天程序。

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);
}

}
请记住,在5.0版本中,channelread0方法名将重命名为MessageReceived(channelhandlerContext,i)

09-27 11:42