繁体   English   中英

在netty TCP连接上存储变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM