Guest User

Untitled

a guest
Jun 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.net.InetSocketAddress;
  6. import java.util.*;
  7.  
  8. public class Test {
  9.  
  10.     static BufferedReader reader;
  11.     static PrintWriter writer;
  12.     static MulticastQueueFifoOnly<String> peer;
  13.     static List<Object> messages = new ArrayList<Object>();
  14.  
  15.     public static void main(String[] args) {
  16.         reader = new BufferedReader(new InputStreamReader(System.in));
  17.         try {
  18.             peer = new MulticastQueueFifoOnly<String>();
  19.             peer.printLog();
  20.             if (args.length == 0) {
  21.                 peer.createGroup(44440, MulticastQueue.DeliveryGuarantee.FIFO);
  22.             } else if (args.length == 1) {
  23.                 int localPort = (int) (Math.random()*1000+40000);
  24.                 System.out.println("Running at "+localPort);
  25.                 peer.joinGroup(localPort,
  26.                     new InetSocketAddress(args[0], 44440),
  27.                     MulticastQueue.DeliveryGuarantee.FIFO);
  28.                
  29.                 Thread t = new Thread(new Runnable() {
  30.                     public void run() {
  31.                         MulticastMessage msg;
  32.                         int i = 0;
  33.                         while (true) {
  34.                         while ((msg = peer.get()) != null)
  35.                         {
  36.                             if (msg instanceof MulticastMessageJoin)
  37.                             {
  38.                                 System.out.println("got a join");
  39.                                 //for (Object o : messages)
  40.                                 //  peer.put(o.toString());
  41.                             }
  42.                             /*System.out.println("\t"+ ++i +" "+ msg);
  43.                             messages.add(msg);
  44.                             if (msg instanceof MulticastMessagePayload) {
  45.                                 ((MulticastMessagePayload<String>) msg).getPayload();
  46.                             }*/
  47.                         }
  48.                         }
  49.                     }
  50.                 });
  51.                 t.start();
  52.             }
  53.  
  54.             while (true) {
  55.                 String s = reader.readLine();
  56.                 if (s.equals("exit")) {
  57.                     peer.leaveGroup();
  58.                     System.exit(0);
  59.                 }
  60.                 peer.put(s);
  61.             }
  62.         } catch (IOException e) {
  63.             e.printStackTrace();
  64.         }
  65.     }
  66. }
Add Comment
Please, Sign In to add comment