//Client.java import java.io.*; import java.net.*; import java.util.*; public class Client extends Thread { xemacs private int port; private InetAddress group; private ObjectOutputStream os,os1; private int count=7; int z=0; private InetAddress address; private MulticastSocket socket; private Thread t; // Initialize the vaule of the port Client(int send_port,InetAddress send_address) { try { socket = new MulticastSocket(send_port); Integer i = new Integer(31); socket.setSoTimeout(1); System.out.println(socket.getTTL()); } catch(IOException e) { System.out.println(e); } address = send_address; port=2225; t= new Thread(this); t.start(); } public void run() { try { //Client sends initail message to the server ByteArrayOutputStream byteStream = new ByteArrayOutputStream(1000); os = new ObjectOutputStream(new BufferedOutputStream(byteStream)); os.flush(); os.writeObject("Hi, How Are You"); os.flush(); //retrieves byte array byte[] msg = byteStream.toByteArray(); DatagramPacket hi = new DatagramPacket(msg, msg.length,address,port); System.out.println(address); System.out.println(port); socket.send(hi); } catch (IOException e) { System.out.println(e); } do { try { byte[] buf = new byte[1000]; DatagramPacket recv = new DatagramPacket(buf, buf.length); socket.setSoTimeout(10000); socket.receive(recv); ByteArrayInputStream byteStream1 = new ByteArrayInputStream(buf); ObjectInputStream is = new ObjectInputStream(new BufferedInputStream(byteStream1)); String message = (String)is.readObject(); is.close(); n++; System.out.println(message+" "+n); ); } catch(UnknownHostException e) { System.out.println(e); } catch(InterruptedIOException e) { System.out.println("DID not get the reply"); count++; } catch(IOException e) { System.out.println(e); } catch(ClassNotFoundException e) { System.out.println("hi"); } count--; }while(count >= 1);//end of while try { //Client sends initail message to the server ByteArrayOutputStream byteStream1 = new ByteArrayOutputStream(1000); os1 = new ObjectOutputStream(new BufferedOutputStream(byteStream1)); os1.flush(); os1.writeObject("I got message from everyone in the group"); os1.flush(); //retrieves byte array byte[] msg1 = byteStream1.toByteArray(); DatagramPacket hi1 = new DatagramPacket(msg1, msg1.length,address,port); System.out.println(address); System.out.println(port); socket.send(hi1); } catch (IOException e) { System.out.println(e); } socket.close(); }//End of run }//End of class