package com.kwan.shuyu.demo; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOutboundHandlerAdapter; import io.netty.channel.ChannelPromise; import io.netty.util.CharsetUtil; /** * 出栈处理器 * * @author : qinyingjie * @version : 2.2.0 * @date : 2023/8/24 14:28 */ public class EchoOutSelfHandler extends ChannelOutboundHandlerAdapter { @Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { System.out.println("执行1"); super.write(ctx, msg, promise); ctx.write(Unpooled.copiedBuffer("Netty rocks from Server!", CharsetUtil.UTF_8)); promise.setSuccess(); promise.addListener((ChannelFutureListener) future -> { if (future.isSuccess()) { System.out.println("消息出站了"); } else { future.cause().printStackTrace(); } }); } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { System.out.println("im in"); cause.printStackTrace(); } }