import java.net.*; import java.util.*; public class MBone extends Thread { private final int SENDER_SLEEP_TIME = 1000; private final int INTERFACE_HANDLER_SLEEP_TIME = 5000; private static String mAddress = "all-systems.mcast.net"; private static String mPort = "4000"; public static void main(String[] args) { if(args.length != 0) { mAddress = args[0]; if(args.length != 1) { mPort = args[1]; } } new MBone(); } public MBone() { start(); } public void run() { MulticastSocket ms = null; try { ms = new MulticastSocket(Integer.parseInt(mPort)); ms.joinGroup(InetAddress.getByName(mAddress)); System.out.println("GROUP: " + mAddress + " JOINED AT PORT: " + mPort); } catch(Exception e) {} while(true) { String message = null; try { byte[] data = new byte[8192]; DatagramPacket packet = new DatagramPacket(data, data.length); ms.receive(packet); message = new String(data, 0, packet.getLength()); System.out.println("RECEIVED MESSAGE: " + message); } catch(Exception e) {} } } }