Ejemplo n.º 1
0
  /**
   * @param args args[0] <direccion_servidor>, args[1] <puerto_servidor>, args[2]
   *     <directorio_trabajo>
   */
  public static void main(String[] args) {
    Client client;
    File workDir;
    Console console;
    int status = 0;

    if (args.length != 3) {
      System.out.println("ERROR: Numero de argumentos incorrecto.");
      System.out.println("\t" + USAGE);
      System.exit(1);
    }

    try {
      String hostname = args[0];
      int port = Integer.parseInt(args[1]);
      workDir = initWorkDir(args[2]);

      // Inicializamos el cliente
      client = new ClientProcess(workDir);
      client.connectServer(hostname, port);

      // Inicializamos la consola
      console = new Console(Encodings.DEFAULT);
      console.setExecutor(client);
      console.start();

      System.exit(status);
    } catch (NumberFormatException e) {
      System.out.println("ERROR: el puerto especificado es incorrecto");
      System.out.println("\tpuerto: " + args[1]);
      status = 2;
    } catch (FileException e) {
      e.printStackTrace();
      status = 3;
    } catch (UnsupportedEncodingException e) {
      System.out.println("ERROR: el sistema no admite la codificación especificada");
      status = 4;
      e.printStackTrace();
    } catch (ConnectionException e) {
      System.out.println("ERROR.\n\t" + e.toString());
      status = 5;
      //			e.printStackTrace();
    }
    //		catch (Throwable t) {
    //			t.printStackTrace();
    //		}
    finally {
      System.out.println("\n" + USAGE + "\n");
      System.exit(status);
    }
  }