Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.48 KB | None | 0 0
  1. public class CMDParser {
  2.     //set soSocTimeout
  3.     //Receive
  4.  
  5.     static boolean smode;       //sender mode
  6.     static boolean rmode;       //receiver mode
  7.     static String clientfile;   //-i [filename]; file to be sent from client to host
  8.     static String hostfile;     //-o [filename]; file to be sent from host to sender
  9.     static boolean ifile;       //ifile can only be active if in sender mode
  10.     static boolean ofile;       //ofile can only be active if in receiver mode
  11.     static String targethost;   //-T [hostname]; connecting host for receiver
  12.     static int windowsize;      //-w [number]; size of window
  13.     static int timeout = 200;   //-t [milliseconds]; timeout in milliseconds
  14.     static int payload = 512;   //-m [bytes]; size of payload in bytes
  15.  
  16.  
  17.     public static void main(String[] args)
  18.     {
  19.         try
  20.         {
  21.             validateArgs(args);
  22.             if ((!smode) || (!rmode))
  23.                 {
  24.                 System.out.println("Arguments Successfully Parsed!");
  25.                 if (smode)
  26.                 {
  27.                     Sender s = new Sender(clientfile, targethost, windowsize, timeout, payload);
  28.                     s.run();
  29.                 }
  30.                 else
  31.                 {
  32.                     Receiver r = new Receiver(hostfile, targethost, windowsize, timeout, payload);
  33.                     r.run();
  34.                 }
  35.             }
  36.             else
  37.             {
  38.                 System.out.println("No mode specified!");
  39.             }
  40.             System.exit(0);
  41.         }
  42.         catch (Exception e)
  43.         {
  44.             e.printStackTrace();
  45.         }
  46.     }
  47.  
  48.     private static void validateArgs(String[] args)
  49.     {
  50.         if (args.length == 0)
  51.         {
  52.             System.out.println("No arguments specified");
  53.             System.exit(0);
  54.         }
  55.         else if ((args.length != 5) && (args.length != 7) && (args.length != 9) && (args.length != 11))
  56.         {
  57.             System.out.println("Invalid arguments");
  58.             System.exit(0);
  59.         }
  60.         else
  61.         {
  62.             for (int i = 0; i < args.length; i++)
  63.             {
  64.                 if ( !(args[i].equals("-s")) && !(args[i].equals("-r")) && !(args[i].equals("-i")) && !(args[i].equals("-o")) && !(args[i].equals("-T")) && !(args[i].equals("-w")) && !(args[i].equals("-t")) && !(args[i].equals("-m")) ){
  65.                     System.out.println("No valid argument specified!");
  66.                     System.exit(0);
  67.                 }
  68.                 if (args[i].equals("-s")) {
  69.                     if (!rmode) { smode = true; System.out.println("Sender mode activated.");} else { System.out.println("Receiver mode already declared!"); System.exit(0); } //sender
  70.                 }else if (args[i].equals("-r")){
  71.                     if (!smode) { rmode = true; System.out.println("Receiver mode activated.");} else { System.out.println("Sender mode already declared!"); System.exit(0); } //receiver
  72.                 }else{
  73.                     if (args[i].equals("-i")){
  74.                         if ((!ofile) && (!rmode)) { clientfile = new String(args[i+1]); System.out.println("Client file is " + clientfile);} else { System.out.println("'-i' is not compatible with receiver mode!"); System.exit(0); }
  75.                     }else if (args[i].equals("-o")){
  76.                         if ((!ifile) && (!smode)) { hostfile = new String(args[i+1]); System.out.println("Host file is " + hostfile);} else { System.out.println("'-o' is not compatible with sender mode!"); System.exit(0); }
  77.                     }else if (args[i].equals("-T")){
  78.                         targethost = args[i+1];
  79.                         System.out.println("Target host is " + targethost);
  80.                     }else if (args[i].equals("-w")){
  81.                         windowsize = Integer.parseInt(args[i+1]);
  82.                         System.out.println("Window size is " + windowsize);
  83.                     }else if (args[i].equals("-t")){
  84.                         timeout = Integer.parseInt(args[i+1]);
  85.                         System.out.println("Timeout value is " + timeout + " milliseconds");
  86.                     }else if (args[i].equals("-m")){
  87.                         payload = Integer.parseInt(args[i+1]);
  88.                         System.out.println("Payload size is " + payload + "bytes");
  89.                     }
  90.                     i++;
  91.                 }
  92.             }
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement