netty 中多播双向通信必须创建 2 bootstrap 是否正常?

Is it normal in netty for bidirectionnal communication on multicast to have to create 2 bootstrap?

我对 netty 并不陌生,即使是多播,但这是我第一次需要同时接收和发送多播节目。

我需要编写一些可以与 mDNS 进行比较的代码。所以我的程序的每个实例都需要回复查询,因此需要能够接收查询并发送回复(在多播 udp 中)。

但问题是,如果不在 bootstrap class 给我的通道上使用 connect(),我就无法发送数据包,当我这样做时,似乎我可以收到了。

所以必须创建 2 是正常的吗bootstrap,唯一的区别是对于发送一个我必须连接频道,而接收一个我不能。

有效,但我想知道这样做是否正确。

谢谢。

注意:在 JVM 1.8u181

上使用 Netty v4.1.34.Final

您应该可以使用 DatagramPacket(...) 发送并在构造函数中指定远程地址。