Write a Calculator using Java RMI. Write 4 files... The Calculator – an interfac
ID: 668798 • Letter: W
Question
Write a Calculator using Java RMI. Write 4 files...
The Calculator – an interface defines all of the calculating services supplied to the users, including addition, subtraction, multiplication, and division.
The CalculatorImpl – the implementation for the remote service.
The CalculatorServer – a simple server that provides the bare essentials for hosting.
The CalculatorClient – a user process that inputs some values, calls the services from server of addition, subtraction, multiplication and division, and then prints out the result after getting them from server.
Explanation / Answer
Answer:
Note:The program is written as per user requirement
Calculator_pro.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Calculator_pro extends Remote
{
public long addition(long a1,long b1)throws RemoteException;
}
Calculator_Impl.java
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class Calculator_Impl extends UnicastRemoteObject implements Calculator_pro
{
protected Calculator_Impl()throws RemoteException
{
super();
}
public long addition(long a1,long b1)throws RemoteException
{
return a1+b1;
}
public long subraction(long a1, long b1) throws java.rmi.RemoteException {
return a1 – b1;
}
public long multiplication(long a1, long b1) throws java.rmi.RemoteException {
return a1 * b1;
}
public long division(long a1, long b1) throws java.rmi.RemoteException {
return a1 / b1;
}
}
}
CalculaorServer.java
import java.rmi.Naming;
public classs CalculaorServer
{
Calculator_Server()
{
try
{
Calculator_pro c new Calculator_Impl();
Naming.rebind("mi://127.0.0.1099/CalculatorService",c);//another system additionress
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[])
{
new Calculator_Server();
}
Calculator_Client.java
import java.rmi.Naming;
public class Calculator_Client
{
public static void main(String[] Args)
{
try
{
Calculator_pro c=(Calculator_pro)Naming.lookup("//127.0.0.1:1099/CalculatorService");//client host (i.e your system additionress)
System.out.println("Addition:"+c.addition(10,15);
System.out.println( "Subraction"+c.subraction(4, 3) );
System.out.println( "Multiplication"+c.multiplication(3, 6) );
System.out.println( "Division"+c.division(9, 3) );
catch(Exception e)
{
System.out.println(e)
}
}
}
Sample output:
From client side:
Additionition:25
Subractionraction:1
Multiplicationtiplication:18
Divisionision:3
Answer:
Note:The program is written as per user requirement
Calculator_pro.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Calculator_pro extends Remote
{
public long addition(long a1,long b1)throws RemoteException;
}
Calculator_Impl.java
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class Calculator_Impl extends UnicastRemoteObject implements Calculator_pro
{
protected Calculator_Impl()throws RemoteException
{
super();
}
public long addition(long a1,long b1)throws RemoteException
{
return a1+b1;
}
public long subraction(long a1, long b1) throws java.rmi.RemoteException {
return a1 – b1;
}
public long multiplication(long a1, long b1) throws java.rmi.RemoteException {
return a1 * b1;
}
public long division(long a1, long b1) throws java.rmi.RemoteException {
return a1 / b1;
}
}
}
CalculaorServer.java
import java.rmi.Naming;
public classs CalculaorServer
{
Calculator_Server()
{
try
{
Calculator_pro c new Calculator_Impl();
Naming.rebind("mi://127.0.0.1099/CalculatorService",c);//another system additionress
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[])
{
new Calculator_Server();
}
Calculator_Client.java
import java.rmi.Naming;
public class Calculator_Client
{
public static void main(String[] Args)
{
try
{
Calculator_pro c=(Calculator_pro)Naming.lookup("//127.0.0.1:1099/CalculatorService");//client host (i.e your system additionress)
System.out.println("Addition:"+c.addition(10,15);
System.out.println( "Subraction"+c.subraction(4, 3) );
System.out.println( "Multiplication"+c.multiplication(3, 6) );
System.out.println( "Division"+c.division(9, 3) );
catch(Exception e)
{
System.out.println(e)
}
}
}
Sample output:
From client side:
Additionition:25
Subractionraction:1
Multiplicationtiplication:18
Divisionision:3
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.