永发信息网

Netty4 没有了Channel id,要做群广播的话,这怎么处理

答案:1  悬赏:0  手机版
解决时间 2021-02-02 13:33
  • 提问者网友:练爱
  • 2021-02-01 15:07
Netty4 没有了Channel id,要做群广播的话,这怎么处理
最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-02-01 15:48
引用来自“预兆师”的答案
引用来自“石头哥哥”的答案
嗯 channel实际就是一个客户端和server的一个抽象的管道 ,netty封装了网络的底层 所以 你不必太多去掀开一些它封装的东西来处理 对于还不熟悉的开发者来讲的 话;你可以这样处理 在连接上来的时候 你创建一个session会话来持有这个channel ,每一个session有一个ID ,那么 你在业务层就可以通过这个ID拿到session 从而将这个数据发送出去,你这里 其实在服务器端就是sessionA sessionB ,A,B两个客户端连接服务器了 ,那么 就创建sessionA sessionB ,并产生一个ID (ID 保持唯一就可以了),A向B发送,那么实际就是通过服务器来转发A的消息到B,那么你必然拿到B的ID,几在A的消息中发送B的ID,这样就可以拿到sessionB ,然后channel.write(); 消息的转发 与消息的推送 关键就在与知道sessionID,顺利得到相应的session 这样就可以解决问题了;
创建session的位置在channelActive(ChannelHandlerContext ctx);标记channel的方式很多 ,上面的和你描述的一样 只是 封装了一个session来持有channel罢了;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯