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

chr*_*tek 6 java sockets networking network-programming multicast

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

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

use*_*421 7

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

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