[英]Store variables on netty TCP Connection
我需要存储一个对象,以便以后在NETTY上的TCP连接上使用。 用户登录后,一些变量需要存储在此用户连接上。
正确的做法是什么? 我尝试将一些变量存储在ChannelHandler Context()上,但已弃用:
public void channelRegistered(ChannelHandlerContext ctx)
{
ctx.attr(attrObj).set(new Session(ctx));
}
然后我尝试在频道上存储:
public void channelRegistered(ChannelHandlerContext ctx)
{
ctx.channel().attr(attrObj).set(new Session(ctx));
}
该对象已与所有TCP会话共享,因此未成功。
如何在此特定TCP用户连接上设置Session()对象,以便该用户发出的所有下一条消息都可以轻松检索此数据?
谢谢
就像您一样使用ctx.channel().attr(attrObj).set(...)
。 每个通道具有不同的属性,因此每个连接都是如此。 如果每个TCP连接有多个会话,则需要将其放入一个映射中,该映射作为属性存储在Channel
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.