每个连接可以自定义一些业务参数,保存在服务端。服务端根据不同的连接,可以随时读取到这些参数,类似web服务器的session
设置和获取参数
每个参数需要设置一个attributeKey,使用比较简单,主要就是get和set。每个连接的attributeKey参数值是隔离的。
public class MyHandler extends SimpleChannelInboundHandler<String> {
AttributeKey<String> attributeKey = AttributeKey.valueOf("key");//参数key
protected void channelRead0(ChannelHandlerContext ctx, String msg) {
ctx.channel().attr(attributeKey).set("value");//设置key参数值
ctx.channel().attr(attributeKey).get();//获取key参数值