MessageHandlersからではなく、サーバー自体からメッセージを送信するにはどうすればよいですか?InetSocketAddressを知っているので、MessageHandlerから保存しましたが、ソケットを直接使用する方法がわかりません。
例えば:
public class QuoteOfTheMomentServer {
private final int port;
public QuoteOfTheMomentServer(int port) {
this.port = port;
}
Bootstrap b;
public void run() throws Exception {
b = new Bootstrap();
try {
b.group(new NioEventLoopGroup())
.channel(NioDatagramChannel.class)
.option(ChannelOption.SO_BROADCAST, true)
.handler(new QuoteOfTheMomentServerHandler());
b.bind(port).sync().channel().closeFuture().await();
} finally {
b.shutdown();
}
}
public static void main(String[] args) throws Exception {
int port;
if (args.length > 0) {
port = Integer.parseInt(args[0]);
} else {
port = 8080;
}
new QuoteOfTheMomentServer(port).run();
}
}
どうすれば次のようなメソッドを追加できますか
public void sendMessage(ByteBuf msg, InetSocketAddr addr) {
b.send(msg, addr);
}