Codigo calculadora rmi
package exercicio.calculadora;
import java.net.MalformedURLException; import java.rmi.AlreadyBoundException; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry;
public class CalcServ { /** * */
public static void main(String[] args) throws RemoteException, MalformedURLException, AlreadyBoundException { System.out.println("Criando o Servidor..."); Icalculadora obj = new CalculadoraImpl(); Registry r = LocateRegistry.createRegistry(1500); System.out.println("Registrando as Implementações"); r.bind("servidor", obj); System.out.println("Servidor Iniciado..."); }
}
Implementação -
package exercicio.calculadora;
import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject;
public class CalculadoraImpl extends UnicastRemoteObject implements Icalculadora {
protected CalculadoraImpl() throws RemoteException { super(); // TODO Auto-generated constructor stub }
/** * */ private static final long serialVersionUID = 1L;
@Override public double calculaOperacao(int num1, char oper, int num2){ double resultado = 0.0;
switch (oper) { case '+': resultado = num1 + num2; break; case '-': resultado = num1 - num2; break; case '/': resultado = num1 / num2; break; case '*': resultado = num1 * num2; break; } return resultado;
}
}
Calculadora -
package exercicio.calculadora;
import java.rmi.Remote; import java.rmi.RemoteException;
public interface Icalculadora extends Remote { public double calculaOperacao(int num1, char oper, int num2) throws RemoteException;
}
Aplicativo -
package exercicio.calculadora;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.rmi.Naming; import java.rmi.NotBoundException; import java.rmi.Remote;
import