如果端口对多播组无关紧要,为什么DatagramSocket.joinGroup()方法采用SocketAddress?

我只是好奇。 这是API错误吗? 加入组播组时,不要使用端口,只使用组播组(IP)作为组播组,对吗?

这是一个令人烦恼的情况,是否会使用PORT?

这个问题可以更好地重新表述为’为什么DatagramSocket.joinGroup()采用SocketAddress参数,它可以包含一个端口号?’

SocketAddress的端口号被忽略。 多播完全根据IP地址定义。 我认为使用SocketAddress的原因是它可能意味着一个未解析的地址,其中InetAddress意味着已解析的地址,并且您无法解析多播地址,但不引用我;-)