尝试在MulticastSocket上调用joinGroup(addr)时,我得到一个SocketException。这只发生在我们设置的Windows机器上,以便在机器启动时自动启动我们的应用程序。MulticastSocket在失败后没有响应
这似乎是引发异常,因为Windows尚未完全完成其启动过程,这里是例外。
java.net.SocketException: error setting options
at java.net.PlainDatagramSocketImpl.join(Native Method)
at java.net.PlainDatagramSocketImpl.join(Unknown Source)
at java.net.MulticastSocket.joinGroup(Unknown Source)
在我们的应用程序启动时,如果在尝试加入组之前等待一分钟,一切正常。
因此,我们决定放入一个重试循环,以便在网络可用时立即连接,这似乎是可行的。两次失败后,第三次尝试加入该团队。
问题是,现在MulticastSocket没有收到来自组的任何消息,即使它加入了正常。
我每创建一个新的MulticastSocket失败并丢弃旧的。
为什么在一个MulticastSocket上无法加入该组会影响没有任何错误地加入的组,并且我该如何解决这个问题?