Netty IO向客户端发送消息

时间:2015-02-07 15:38:12

标签: java class methods netty server

如何使用Netty从服务器向客户端发送消息? 我知道你可以像

那样做
  for (Channel c : channels1) {
    c.writeAndFlush("TEXT \r\n");
  }

但它只能在ChatServerHandler类中使用。有没有一种方法可以向客户端发送消息,或者如何创建一个我可以调用的方法,例如

sendMessageToServer("MESSAGE");

void sendMessageToServer(String message) {
final ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
      for (Channel c : channels) {
        c.writeAndFlush("TEXT \r\n");
      }
}

?如果我使用

获取ChatServerHandler中的频道
final ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);

我的频道大小为0.

1 个答案:

答案 0 :(得分:0)

final ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
这构造了一个内部没有任何内容的新ChannelGroup

你应该有一个类SimpleChannelInboundHandler<?> 连接某些内容时会调用channelActive(ChannelHandlerContext chc)方法。只需在Channel之后将channels个实例添加到channels.add(chc.channel()); 您可能需要让ChannelGroup公开,以便随处可见。祝你好运。