核心思路
要给给客户端的发送消息就要给客户端所对应的chanel的writeAndFlush() 方法, 所以多个客户端就要管理多个channel对象, Netty提供使用ChannelGroup 来管理channel。
当handlerAdded回调执行的时候 我们往channelgroup 对象添加channel,在handlerRemoved 从channelGroup 中移除channel。
@Override
public void handlerAdded(ChannelHandlerContext ctx) throws Exception {
Channel channel = ctx.channel();
channelGroup.add(channel);
}
@Override
public void handlerRemoved(ChannelHandlerContext ctx) throws Exception {
Channel channel = ctx.channel();
channelGroup.remove(channel);
}
我们拿到了channelGroup 就可以遍历里面的Channel对象 从而操作他们。