簡體   English   中英

Netty IO向客戶端發送消息

[英]Netty IO send Message to Client

如何使用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。

final ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
這將構造一個沒有任何內容的新ChannelGroup

您應該具有一個擴展SimpleChannelInboundHandler<?>
連接某些對象時,將調用channelActive(ChannelHandlerContext chc)方法。 只需添加Channel實例您的channelschannels.add(chc.channel());
您可能必須將ChannelGroup公開,以便可以在任何地方使用。 祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM