예제 #1
0
파일: c_rmifs.java 프로젝트: R2RITO/redesp2
  /**
   * Funcion que baja un archivo desde el servidor remoto
   *
   * @param nombre El nombre del usuario
   * @param clave La clave del usuario
   * @param argumento Nombre del archivo a bajar
   * @param fs La interfaz del servidor para acceder al servicio remoto
   * @throws Exception Cuando el objeto remoto no esta disponible
   */
  public static void baj(String nombre, String clave, String argumento, s_rmifs_Interface fs) {

    try {

      // Comprobar que el archivo no existe localmente
      if (!comprobarArchivo(argumento)) {
        // Ejecutar el comando
        byte[] archivoFormateado = fs.baj(nombreCliente, claveCliente, argumento);
        if (archivoFormateado != null) {
          System.out.println(construirArchivo(argumento, archivoFormateado));
        } else {
          System.out.println("Error al construir el archivo");
        }

      } else {

        System.out.println("El archivo solicitado ya existe");
      }

    } catch (Exception e) {
      System.out.println(e.getMessage());
      System.out.println(" - ERROR - El Servidor de Archivos ya no esta disponible");
      System.exit(EXIT_FAILURE);
    }
  }
예제 #2
0
파일: c_rmifs.java 프로젝트: R2RITO/redesp2
  /**
   * Funcion que utiliza el servidor de autenticacion para autenticar a los usuarios provistos
   *
   * @param usuarios Lista con los usuarios a autenticar
   * @param puerto El puerto para conectarse al servidor de autenticacion
   * @return Booleano que indica si se pudo autenticar.
   * @throws MalformeURLException En caso de una URL mal formada
   * @throws RemoteException En caso de que el objeto remoto no este disponible
   * @throws NotBoundException En caso de que no se logre hacer el lookup
   */
  public static boolean autenticarCliente(ArrayList<Usuario> usuarios, int puerto) {

    // Acceder al servidor remoto de autenticacion
    String nActual = null;
    String cActual = null;
    boolean autenticado = false;

    try {

      s_rmifs_Interface auth =
          (s_rmifs_Interface) Naming.lookup("rmi://" + servidor + ":" + puerto + "/s_rmifs");

      for (Usuario usuActual : usuarios) {

        nActual = usuActual.getUsuario();
        cActual = usuActual.getClave();
        if (auth.autenticar(nActual, cActual)) {
          autenticado = true;
          break;
        }
      }

      // Manejo de excepciones.
    } catch (MalformedURLException murle) {
      System.out.println();
      System.out.println("MalformedURLException");
      System.out.println(murle);

    } catch (RemoteException re) {
      System.out.println();
      System.out.println("RemoteException");
      System.out.println(re);

    } catch (NotBoundException nbe) {
      System.out.println();
      System.out.println("NotBoundException");
      System.out.println(nbe);
    }

    // Si el usuario fue autenticado, guardar sus datos
    if (autenticado) {
      nombreCliente = nActual;
      claveCliente = cActual;
    }

    return autenticado;
  }
예제 #3
0
파일: c_rmifs.java 프로젝트: R2RITO/redesp2
  /**
   * Funcion que borra un archivo desde el servidor remoto
   *
   * @param nombre El nombre del usuario
   * @param clave La clave del usuario
   * @param argumento Nombre del archivo a borrar
   * @param fs La interfaz del servidor para acceder al servicio remoto
   * @throws Exception Cuando el objeto remoto no este disponible
   */
  public static void bor(String nombre, String clave, String argumento, s_rmifs_Interface fs) {

    try {
      System.out.println(fs.bor(nombreCliente, claveCliente, argumento));
    } catch (Exception e) {
      System.out.println(e.getMessage());
      System.out.println(" - ERROR - El Servidor de Archivos ya no esta disponible");
      System.exit(EXIT_FAILURE);
    }
  }
예제 #4
0
파일: c_rmifs.java 프로젝트: R2RITO/redesp2
  /**
   * Funcion que termina la ejecucion del cliente
   *
   * @param nombre El nombre del usuario
   * @param clave La clave del usuario
   * @param fs La interfaz del servidor para acceder al servicio remoto
   * @throws Exception Cuando el objeto remoto no este disponible
   */
  public static void sal(String nombre, String clave, s_rmifs_Interface fs) {

    try {
      fs.sal(nombreCliente, claveCliente);
      System.out.println("- ALERT - Terminando ejecucion.");
      System.exit(1);
    } catch (Exception e) {
      System.out.println(e.getMessage());
      System.out.println(" - ERROR - El Servidor de Archivos ya no esta disponible");
      System.exit(EXIT_FAILURE);
    }
  }