 |
|
|
MultiServer.java
|
/*
* Author: Havard Rast Blok
* E-mail:
* Web : www.rememberjava.com
*/
import java.net.*;
import java.util.*;
/**
* Simple multicast server from the Java Doc pages.
* Modified to wait for messages for some minutes.
*/
public class MultiServer
{
public MultiServer ()
{
GregorianCalendar stop, now;
String msg = "Hello";
InetAddress group;
MulticastSocket s;
DatagramPacket hi;
DatagramPacket recv;
try
{
// join a Multicast group and send the group salutations
System.out.println("Starting.");
group = InetAddress.getByName("228.5.6.7");
s = new MulticastSocket(6789);
s.joinGroup(group);
hi = new DatagramPacket(msg.getBytes(), msg.length(), group, 6789);
s.send(hi);
stop = new GregorianCalendar();
stop.add( Calendar.MINUTE, 2 );
System.out.println("Listenting for response.");
// get their responses
do
{
byte buf[] = new byte[1000];
recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
System.out.println("Received message:.");
for(int i=0; i<recv.getLength(); i++)
{
System.out.print(""+(char)buf[i]);
}
now = new GregorianCalendar();
}while( now.before( stop ) );
// OK, I'm done talking - leave the group
s.leaveGroup(group);
System.out.println("Done.");
}
catch(Exception e )
{
System.out.println("MultiServer - Exception: "+e);
}
}
public static void main( String args[] )
{
new MultiServer();
}
}
|
|
|
 |