MulticastSocket.setInterface(InetAddress inf) has the following syntax.
public void setInterface(InetAddress inf) throws SocketException
In the following code shows how to use MulticastSocket.setInterface(InetAddress inf) method.
import java.net.DatagramPacket; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.MulticastSocket; import java.net.NetworkInterface; /* w w w . j av a 2s . com*/ public class Main { public static void main(String[] args) throws Exception { int port = 0; byte ttl = (byte) 1; byte[] data = "Here's some multicast data\r\n".getBytes(); DatagramPacket dp = new DatagramPacket(data, data.length, InetAddress.getByName("google.com"), port); MulticastSocket ms = new MulticastSocket(InetSocketAddress.createUnresolved("google.com", 8080)); ms.joinGroup(InetSocketAddress.createUnresolved("127.0.0.1",8080),NetworkInterface.getByIndex(0)); for (int i = 1; i < 10; i++) { ms.send(dp, ttl); } ms.setInterface(InetAddress.getByName("google.com")); ms.close(); } }