向新连接的客户发送问候语

时间:2017-10-01 16:44:29

标签: java netty

我正在编写一个带netty的tcp服务器,并希望向所有新连接的客户端发送一些问候语。截至目前,我打算用ChannelInitializer

来做到这一点
ServerBootstrap b;
//...
b.channel(NioServerSocketChannel.class)
 .childHandler(new ChannelInitializer<SocketChannel>()) {
     public void init(SocketChannel ch){
         ch.pipeline(). //...
         ch.writeAndFlush(Unpooled.copiedBuffer("Hi there!", CharsetUtil.UTF_8));
     }
  }

由于netty中的所有内容都是异步的,因此我不确定这是否是在连接成功发送问候语的正确方法。有人可以建议推荐的方式吗?

1 个答案:

答案 0 :(得分:1)

执行ChannelInboundHandlerAdapter回调后,您应该通过channelActive执行此操作。

类似的东西:

public class GreetingHandler extends ChannelInboundHandlerAdapter { @Override public void channelActive(ChannelHandlerContext ctx) { ch.writeAndFlush(Unpooled.copiedBuffer("Hi there!", CharsetUtil.UTF_8)); } }