我试图在此基础上制作简单的聊天程序。
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)