我发送广播到零网络[255.255.255.255](例如DHCP或任何其他特定协议,不能使用任何特定广播地址,仅限于本地)并从特定接口发送广播得到回应。 因此作为dgram回调的Bind()的一部分,我试图将我的本地IP添加到这个广播组
socket.setMulticastTTL(128);
socket.setBroadcast(true);
socket.addMembership(BROAD_ADDRESS,ip);
socket.setMulticastLoopback(true);
并收到错误。
抛出errnoException(错误,' addMembership'); ^
错误:addMembership EINVAL
我认为,由于这是本地地址,因此它已经是零网络组的一部分(就像在Windows中一样)。但问题是,如果不使用addMembership调用,我可以看到响应流量进入接口,但NodeJS客户端无法接收它。
一切正常(我能够在使用任何其他广播地址时发送消息并获得响应),但不是这个特定的广播地址。 这也不适用于网络特定地址(例如10.1.10.0/24网络,广播到10.1.10.255)
那么,如何在linux上接收广播消息到零网络的响应?