Untitled

 avatar
unknown
plain_text
3 days ago
2.1 kB
8
Indexable
Calculator.java

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Calculator extends Remote
	{
	public long add(long a, long b) throws RemoteException;
	public long sub(long a, long b) throws RemoteException;
	public long mul(long a, long b) throws RemoteException;
	public long div(long a, long b) throws RemoteException;
	}


CalculatorImpl.java

    import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class CalculatorImpl extends UnicastRemoteObject implements Calculator
	{
	protected CalculatorImpl() throws RemoteException
		{ super(); }
	public long add(long a, long b) throws RemoteException
		{ return a+b; }
	public long sub(long a, long b) throws RemoteException
		{ return a-b; }
	public long mul(long a, long b) throws RemoteException
		{ return a*b; }
	public long div(long a, long b) throws RemoteException
		{ return a/b; }
	}


CalculatorServer.java

import java.rmi.Naming;
public class CalculatorServer
	{
		CalculatorServer()
		{
			try{
				Calculator c=new CalculatorImpl();
	Naming.rebind("rmi://127.0.0.1:1099/CalculatorService",c);
			   }
			catch(Exception e){
				e.printStackTrace();
				}
		}


	public static void main(String g[])
		{
		new CalculatorServer();
		}
	}	


CalculatorClient.java


import java.rmi.Naming;
import java.util.*;

public class CalculatorClient {
	public static void main (String[] args){
	  try {
		Calculator calculator = (Calculator) Naming.lookup("//127.0.0.1:1099/CalculatorService");

		Scanner scanner = new Scanner(System.in);
		System.out.print("Enter first number: ");
		long a = scanner.nextLong();

		System.out.print("Enter Second number: ");
		long b = scanner.nextLong();
		
		System.out.println("Addition: " + calculator.add(a,b));
		System.out.println("Difference: " + calculator.sub(a,b));
		System.out.println("Product: " + calculator.mul(a,b));
		System.out.println("Division: " + calculator.div(a,b));
		
		scanner.close();
		} catch(Exception e) {
			e.printStackTrace();

		}
	}
}
Editor is loading...
Leave a Comment