package netty; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.channel.group.ChannelGroup; import io.netty.channel.group.DefaultChannelGroup; import io.netty.util.concurrent.GlobalEventExecutor; /** * description * * @author jack * @since 2018/7/31 下午1:10 */ public class SimpleChatServerHandler extends SimpleChannelInboundHandler<String> { public static ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Override public void handlerAdded(ChannelHandlerContext ctx) throws Exception { Channel channel = ctx.channel(); channels.write("[Server]-" + channel.remoteAddress() + "加入群组"); channels.add(channel); } @Override public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { Channel channel = ctx.channel(); channels.write("[Server]-" + channel.remoteAddress() + "断开了"); } @Override protected void channelRead0(ChannelHandlerContext channelHandlerContext, String s) throws Exception { Channel incoming = channelHandlerContext.channel(); channels.forEach(channel -> { if (channel != incoming) { channel.writeAndFlush("[" + incoming.remoteAddress() + "]" + s + "\n"); } else { channel.writeAndFlush("[you]" + s + "\n"); } }); } @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { Channel channel = ctx.channel(); System.out.println("SimpleChatClient:" + channel.remoteAddress() + "在线"); } @Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { // (6) Channel incoming = ctx.channel(); System.out.println("SimpleChatClient:" + incoming.remoteAddress() + "掉线"); } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { Channel incoming = ctx.channel(); System.out.println("SimpleChatClient:" + incoming.remoteAddress() + "异常"); // 当出现异常就关闭连接 cause.printStackTrace(); ctx.close(); } }
最近下载更多
sunlzh888888 LV29
2023年9月12日
人工智能4708 LV11
2023年5月8日
zhaoxu123123 LV10
2022年12月4日
wanglinddad LV55
2022年6月1日
xiexiaoming05 LV14
2022年5月21日
林间听风 LV10
2022年4月12日
jaonsang LV25
2022年4月8日
羡丶随风 LV1
2022年1月4日
卖菜老农 LV4
2021年7月12日
991899783 LV1
2020年11月23日
最近浏览更多
28128觅北 LV2
5月22日
taoyi123 LV17
4月29日
1909741473 LV8
2月19日
2890892945 LV2
2023年12月26日
3334004690 LV10
2023年10月18日
sunlzh888888 LV29
2023年9月12日
你好啊呐 LV19
2023年8月23日
一勺枣糕 LV3
2023年7月5日
人工智能4708 LV11
2023年5月8日
1475406999 LV6
2023年5月6日