思路:
1、使用netty提供的ChannelGroup来保存连接到服务端的客户端连接
ChannelGroup的作用(好处)是:通过操作ChannelGroup,实现对加入到ChannelGroup中的所有的Channel进行统一操作
2、在Server端的客户端与服务端建立好连接时的回调函数handlerAdded方法中,将新的连接加入到ChannelGroup
channelGroup.add(channel);
3、(可选)在Server端的客户端与服务端连接关闭时回调函数handlerRemoved方法中,将连接从ChannelGroup中删除
channelGroup.remove(channel);
此步骤会被netty自动调用,我们调用与否都可以,可以不进行显式调用
4、在Server端handler的channelRead0方法中,将收到某客户端的消息发送到ChannelGroup中所有客户端
完整示例代码:
https://github.com/mazhongjia/nettyssynetty02/tree/master/src/main/java/com/mzj/netty/ssy/_03/chat