Java API Tutorial - Java MulticastSocket .setInterface (InetAddress inf)








Syntax

MulticastSocket.setInterface(InetAddress inf) has the following syntax.

public void setInterface(InetAddress inf)   throws SocketException

Example

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();
  }

}