java.net

Class MulticastSocket

public class MulticastSocket extends DatagramSocket

This class models a multicast UDP socket. A multicast address is a class D internet address (one whose most significant bits are 1110). A multicast group consists of a multicast address and a well known port number. All members of the group listening on that address and port will receive all the broadcasts to the group.

Please note that applets are not allowed to use multicast sockets Written using on-line Java Platform 1.2 API Specification, as well as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). Status: Believed complete and correct.

Since: 1.1

UNKNOWN: May 18, 1999.

Constructor Summary
MulticastSocket()
Create a MulticastSocket that this not bound to any address
MulticastSocket(int port)
Create a multicast socket bound to the specified port
MulticastSocket(SocketAddress address)
Create a multicast socket bound to the specified SocketAddress.
Method Summary
InetAddressgetInterface()
Returns the interface being used for multicast packets
booleangetLoopbackMode()
Checks if local loopback mode is enabled
NetworkInterfacegetNetworkInterface()
Gets the local network interface which is used to send multicast messages
intgetTimeToLive()
Returns the current value of the "Time to Live" option.
bytegetTTL()
Returns the current value of the "Time to Live" option.
voidjoinGroup(InetAddress mcastaddr)
Joins the specified multicast group.
voidjoinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Joins the specified mulitcast group on a specified interface.
voidleaveGroup(InetAddress mcastaddr)
Leaves the specified multicast group
voidleaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Leaves the specified mulitcast group on a specified interface.
voidsend(DatagramPacket packet, byte ttl)
Sends a packet of data to a multicast address with a TTL that is different from the default TTL on this socket.
voidsetInterface(InetAddress addr)
Sets the interface to use for sending multicast packets.
voidsetLoopbackMode(boolean disable)
Disable/Enable local loopback of multicast packets.
voidsetNetworkInterface(NetworkInterface netIf)
Sets the local network interface used to send multicast messages
voidsetTimeToLive(int ttl)
Sets the "Time to Live" value for a socket.
voidsetTTL(byte ttl)
Sets the "Time to Live" value for a socket.

Constructor Detail

MulticastSocket

public MulticastSocket()
Create a MulticastSocket that this not bound to any address

Throws: IOException If an error occurs SecurityException If a security manager exists and its checkListen method doesn't allow the operation

MulticastSocket

public MulticastSocket(int port)
Create a multicast socket bound to the specified port

Parameters: port The port to bind to

Throws: IOException If an error occurs SecurityException If a security manager exists and its checkListen method doesn't allow the operation

MulticastSocket

public MulticastSocket(SocketAddress address)
Create a multicast socket bound to the specified SocketAddress.

Parameters: address The SocketAddress the multicast socket will be bound to

Throws: IOException If an error occurs SecurityException If a security manager exists and its checkListen method doesn't allow the operation

Since: 1.4

Method Detail

getInterface

public InetAddress getInterface()
Returns the interface being used for multicast packets

Returns: The multicast interface

Throws: SocketException If an error occurs

getLoopbackMode

public boolean getLoopbackMode()
Checks if local loopback mode is enabled

Returns: true if loopback mode is enabled, false otherwise

Throws: SocketException If an error occurs

Since: 1.4

getNetworkInterface

public NetworkInterface getNetworkInterface()
Gets the local network interface which is used to send multicast messages

Returns: The local network interface to send multicast messages

Throws: SocketException If an error occurs

Since: 1.4

See Also:

getTimeToLive

public int getTimeToLive()
Returns the current value of the "Time to Live" option. This is the number of hops a packet can make before it "expires".

Returns: The TTL value

Throws: IOException If an error occurs

Since: 1.2

getTTL

public byte getTTL()

Deprecated: 1.2 Replaced by getTimeToLive()

Returns the current value of the "Time to Live" option. This is the number of hops a packet can make before it "expires". This method id deprecated. Use getTimeToLive instead.

Returns: The TTL value

Throws: IOException If an error occurs

See Also: getTimeToLive

joinGroup

public void joinGroup(InetAddress mcastaddr)
Joins the specified multicast group.

Parameters: mcastaddr The address of the group to join

Throws: IOException If an error occurs SecurityException If a security manager exists and its checkMulticast method doesn't allow the operation

joinGroup

public void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Joins the specified mulitcast group on a specified interface.

Parameters: mcastaddr The multicast address to join netIf The local network interface to receive the multicast messages on or null to defer the interface set by #setInterface or #setNetworkInterface

Throws: IOException If an error occurs IllegalArgumentException If address type is not supported SecurityException If a security manager exists and its checkMulticast method doesn't allow the operation

Since: 1.4

See Also: MulticastSocket

leaveGroup

public void leaveGroup(InetAddress mcastaddr)
Leaves the specified multicast group

Parameters: mcastaddr The address of the group to leave

Throws: IOException If an error occurs SecurityException If a security manager exists and its checkMulticast method doesn't allow the operation

leaveGroup

public void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Leaves the specified mulitcast group on a specified interface.

Parameters: mcastaddr The multicast address to leave netIf The local networki interface or null to defer to the interface set by setInterface or setNetworkInterface

Throws: IOException If an error occurs IllegalArgumentException If address type is not supported SecurityException If a security manager exists and its checkMulticast method doesn't allow the operation

Since: 1.4

See Also: MulticastSocket

send

public void send(DatagramPacket packet, byte ttl)

Deprecated:

Sends a packet of data to a multicast address with a TTL that is different from the default TTL on this socket. The default TTL for the socket is not changed.

Parameters: packet The packet of data to send ttl The TTL for this packet

Throws: IOException If an error occurs SecurityException If a security manager exists and its checkConnect or checkMulticast method doesn't allow the operation

setInterface

public void setInterface(InetAddress addr)
Sets the interface to use for sending multicast packets.

Parameters: addr The new interface to use.

Throws: SocketException If an error occurs.

Since: 1.4

setLoopbackMode

public void setLoopbackMode(boolean disable)
Disable/Enable local loopback of multicast packets. The option is used by the platform's networking code as a hint for setting whether multicast data will be looped back to the local socket. Because this option is a hint, applications that want to verify what loopback mode is set to should call #getLoopbackMode

Parameters: disable True to disable loopback mode

Throws: SocketException If an error occurs

Since: 1.4

setNetworkInterface

public void setNetworkInterface(NetworkInterface netIf)
Sets the local network interface used to send multicast messages

Parameters: netIf The local network interface used to send multicast messages

Throws: SocketException If an error occurs

Since: 1.4

See Also:

setTimeToLive

public void setTimeToLive(int ttl)
Sets the "Time to Live" value for a socket. The value must be between 0 and 255, inclusive.

Parameters: ttl The new TTL value

Throws: IOException If an error occurs

Since: 1.2

setTTL

public void setTTL(byte ttl)

Deprecated: 1.2 Replaced by setTimeToLive

Sets the "Time to Live" value for a socket. The value must be between 1 and 255.

Parameters: ttl The new TTL value

Throws: IOException If an error occurs

See Also: MulticastSocket