コード例 #1
0
ファイル: Main.java プロジェクト: ayoubdev/MultiChat
  public static void main(String[] args) {
    boolean nio = false, server = false, client = false, multicast = false;

    Getopt g = new Getopt("MultiChat", args, "a:dhmnp:sc");
    int c;

    while ((c = g.getopt()) != -1) {
      switch (c) {
        case 'a':
          // set the ip address
          HOST = g.getOptarg();
          break;
        case 'd':
          // Mode debug (log dans la console)
          MyLogger.setConsoleMsg(true);
          break;
        case 'h':
          System.out.println(msgHelp);
          try {
            Thread.sleep(5000);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          System.exit(0);
        case 'm':
          // mode multicast
          multicast = true;
          break;
        case 'n':
          // mode client
          nio = true;
          break;
        case 'p':
          // Option -p pour spécifier port
          PORT = Integer.parseInt(g.getOptarg());
          break;
        case 's':
          server = true;
          break;
        case 'c':
          // option -c pour lancer client:
          client = true;
          break;
        case '?':
          break;
        default:
          System.out.print("getopt() returned " + c + "\n");
      }
    }

    if (MyLogger.isConsoleMsg()) {
      MyLogger.init(false);
    } else {
      MyLogger.init(true);
    }

    if (client) {
      if (multicast) {
        MainClient.setISMULTICAST(true);
      } else {
        MainClient.setISMULTICAST(false);
      }
      MainClient.setHOST(HOST);
      MainClient.setPORT(PORT);
      Application.launch(MainClient.class, args);
    } else if (server) {
      MainServer.setHOST(HOST);
      MainServer.setPORT(PORT);
      if (!nio) {
        // option -s pour lancer serveur (par défaut sans NIO):
        MainServer.main();
      } else {
        // -s -n pour lancer un serveur NIO:
        MainServer.mainNIO();
      }
    }
  }