Clase Cliente.java import import import import import java.io.BufferedReader; java.io.IOException; java.io.

InputStreamReader; java.rmi.Naming; java.util.Scanner;

public class Cliente { public int[] leerPolinomio(String msj)//Aqui lee el polinomio { int[] p = new int[3]; Scanner sc = new Scanner(System.in); System.out.println(msj); for(int i=0;i<3;i++) { p[i] = sc.nextInt(); } return p; } public void imprimirPolinomio(int [] p) { for(int i=0; i<3; i++ ) System.out.println(""+p[i]); } public static void main(String[]args) { int opcion; InputStreamReader in = new InputStreamReader(System.in); BufferedReader lee = new BufferedReader(in);//genera el metodo para leer el buffered try { do{ System.out.println("Elija una opcion: suma(1),resta(2),multiplicacio n(3), salir(4) "); opcion = Integer.parseInt(lee.readLine());//aqui muestra las opcione s para definir que hacer y de acuerdo a lo que se elija, hara el trabajo. switch (opcion) { case 1: { Interface i= (Interface)Naming.lookup("rmi://localhost/Polinomios"); int[] p1=new int[3]; int[]p2= new int[3]; int[]p =new int[3]; Cliente Obj= new Cliente(); p1=Obj.leerPolinomio("Ingrese el primer polinomio"); p2=Obj.leerPolinomio("Ingrese el segundo polinomio"); p= i.sumaPolinomios(p1, p2); System.out.println("Polinomio resultante: "); Obj.imprimirPolinomio(p); } break; case 2: { Interface i= (Interface)Naming.lookup("rmi://localhost/P49olinomios" //Aqui imprime el polinomio

lookup("rmi://localhost/Polinomios").i<3...UnicastRemoteObject......... int[] t1=new int[3]. case 3: { Interface i= (Interface)Naming... } break...imprimirPolinomio(t).... } }while(opcion!='4')..rmi..int[] p2) throws RemoteException {int[] p = new int[3].leerPolinomio("Ingrese el primer polinomio")...... int[]t =new int[3]..). } catch(Exception e) { System.. .println("Polinomio resultante: "). int[] s1=new int[3].....leerPolinomio("Ingrese el primer polinomio"). int[]s =new int[3]..exit(0).. s2).. int[]t2= new int[3].RemoteException..... Cliente Obj= new Cliente()... } return p.multiplicacionPolinomios(s1.... for(int i=0........leerPolinomio("Ingrese el segundo polinomio").restaPolinomios(t1.out....server.. import java.i++) { p[1]= p1[1]+p2[2]......... System.... } break... case 4: { System.imprimirPolinomio(s).......println("Polinomio resultante: ")..out.. s2=Obj. s= i...out.java import java. Cliente Obj= new Cliente().... t1=Obj..rmi......... int[]s2= new int[3]... } } } ... } break.... System.....out...leerPolinomio("Ingrese el segundo polinomio")......... } public int[]sumaPolinomios (int[] p1.//aqui muestra simplemente el error.. s1=Obj.. Obj......println("Gracias por participar").println("Se ha producido un error")..... t= i... t2)... System... } .. public class Implementacion extends UnicastRemoteObject implements Interface{ public Implementacion() throws RemoteException // creacion constructor { super()...... Clase implementación.. t2=Obj.... Obj...

rmi.....i<3...i++) { p[1]= p1[1]-p2[2]................... ..i++) { p[1]= p1[1]*p2[2]..............println("Estamos experimentando fallas técnicas")....out.int[] p2) throws RemoteException {int[] p = new int[3]..public int[]restaPolinomios (int[] p1...............//metodo e implementacion remota Naming.... Clase Servidor...... public int[]multiplicacionPolinomios (int[] p1........................ } return p......//corre perfectamente Serve r corre perfectamente......RemoteException..rmi..............out..................."). } public int[]multiplicacionPolinomios (int[] p1.......... } catch(Exception e)// terminacion de constructor { System..........java import java..... } } . ...// se ejecutara a la llamada de un cliente System...rebind("rmi://localhost/Polinomios".. public class Servidor { public Servidor() // constructor { try { Interface i=new Implementacion().int[] p2) throws RemoteException..int[] p2) throws RemoteException.int[] p2) throws RemoteException {int[] p = new int[3]......rmi........println("SERVIDOR ESCUCHANDO.... i)..............//resulta do polinomios como arreglo.........int[] p2) throws RemoteException. for(int i=0.. clase Interface. metodo remoto q utilizamos public int[]restaPolinomios (int[] p1.... for(int i=0... } } ........java import java.................i<3....... ....Naming...... } .......................................................// MEN SAJE DE EXCEPTION } } public static void main(String[] args)// programa en si { new Servidor()...Remote............. import java.......................... } return p......... public interface Interface extends Remote{ public int[]sumaPolinomios (int[] p1.

.java con la instrucción: javac *................java Ahora en el directorio vemos la clase para la implementación: dir Ahora vamos al método para implementarlo: rmic implementacion(implementación es el mét odo para implementarlo) Ahora creamos nuestro registro: rmiregistry Ahora solamente ejecutamos............ Comandos ejecutar ubico el src del proyecto ejemplo cd C:\Prueba James\src Ahora ejecutamos los ....................... 52034178 ............. primero vamos a la clase servidoy y mandamos a ejecu tar archivo y después hacemos lo mismo para la clase cliente........

Sign up to vote on this title
UsefulNot useful