在Netty中使用会话管理-xworker-netty

在Netty中使用会话

1.前言

     XWorker集成了Netty模型,可以用netty快速编写服务器或客户端的应用。

2.会话管理器简介

    在服务器端XWorker实现了一个简单的会话管理器,它可以管理会话,对指定的会话发送消息。也实现了一个简单的分组,可以把会话加入到某个分组里,可以对某个分组里所有的会话发送消息。

    另外会话的分组的功能可以起到主题的作用。分组可以是多级的,如a.b.c,会话可以添加到a或a.b或a.b.c下。目前分组还未实现通配符,当发送消息给分组a时,并不会同时发给a.b和a.b.c下的用户。将在以后考虑实现分组的通配符功能。

3.会话管理

3.1.监听和获取会话

    使用XWorker的NettyServer模型编写的Netty服务器,可以监听sessionConnected(NettySession session)和sessionClosed(NettySession session)两个方法,在Handler里可以通过NettySession.getSession(Channel channel)方法或通过GetNettySession动作来获取会话。

3.2.添加到会话管理器

    会话需要添加到会话管理器,然后其它人才可以通过会话管理器向会话发送消息。添加到会话管理器的方法是调用会话的session.setSessionId(String sessionId)方法,调用此方法后会同时添加到会话管理器中。

3.3.添加到分组

    通过session.addToGroup(String groupPath)方法设置。

3.4.通过会话获取会话管理器

    NettySessionManager sessionManager = session.getSessionManager();

3.5.通过NettySessionManager向指定会话和分组发送消息

    sessionManager.sendMessage(String sessionId, Object message);

    sessionManager.sendMessageToGroup(String groupPath, Object Message);

4.示例

    XWorker中的示例是SessionExample,可以在XWorker的文档和示例中找到,分组是io.netty。这个示例是一个聊天室的例子,相关服务器和客户端的模型都可以在示例中看到。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值