思路:

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中所有客户端

05.netty实现简单的消息的广播

完整示例代码:

https://github.com/mazhongjia/nettyssynetty02/tree/master/src/main/java/com/mzj/netty/ssy/_03/chat

 

相关文章: