如何使用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.
答案 0 :(得分:0)
final ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
这构造了一个内部没有任何内容的新ChannelGroup
。
你应该有一个类SimpleChannelInboundHandler<?>
连接某些内容时会调用channelActive(ChannelHandlerContext chc)
方法。只需在Channel
之后将channels
个实例添加到channels.add(chc.channel());
您可能需要让ChannelGroup
公开,以便随处可见。祝你好运。