This subclass of
DatagramSocket can send and receive multicast UDP
packets. It extends DatagramSocket by adding
joinGroup( )
and leaveGroup(
) methods to join and leave multicast
groups. You do not have to join a group
to send a packet to a multicast address, but you must join the group
to receive packets sent to that address. Note that the use of a
MulticastSocket is governed by a security manager.
Use setTimeToLive(
)
to set a time-to-live value
for any packets sent through a MulticastSocket.
This constrains the number of network hops a packet can take and
controls the scope of a multicast. Use setInterface(
)
or
setNetworkInterface( ) to specify the
InetAddress or the
NetworkInterface that outgoing multicast packets
should use: this is useful for servers or other computers that have
more than one internet address or network interface.
setLoopbackMode(
) specifies whether a multicast
packets sent through this socket should be send back to this socket
or not. This method should really be named
"setLoopbackModeDisabled( )":
passing an argument of TRue requests (but does not
require) that the system disable loopback
packets.

public class MulticastSocket extends DatagramSocket {
// Public Constructors
public MulticastSocket( ) throws java.io.IOException;
1.4 public MulticastSocket(SocketAddress bindaddr) throws java.io.IOException;
public MulticastSocket(int port) throws java.io.IOException;
// Public Instance Methods
public InetAddress getInterface( )
throws SocketException; default:Inet4Address
1.4 public boolean getLoopbackMode( ) throws SocketException; default:false
1.4 public NetworkInterface getNetworkInterface( ) throws SocketException;
1.2 public int getTimeToLive( ) throws java.io.IOException; default:1
public void joinGroup(InetAddress mcastaddr) throws java.io.IOException;
1.4 public void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
throws java.io.IOException;
public void leaveGroup(InetAddress mcastaddr)
throws java.io.IOException;
1.4 public void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws java.io.IOException;
public void setInterface(InetAddress inf) throws SocketException;
1.4 public void setLoopbackMode(boolean disable) throws SocketException;
1.4 public void setNetworkInterface(NetworkInterface netIf)
throws SocketException;
1.2 public void setTimeToLive(int ttl) throws java.io.IOException;
// Deprecated Public Methods
# public byte getTTL( ) throws java.io.IOException; default:1
# public void send(DatagramPacket p, byte ttl) throws java.io.IOException;
# public void setTTL(byte ttl) throws java.io.IOException;
}