-------------------
public interface myRMIInterface extends java.rmi.Remote
{
public int getadd(int a,int b) throws java.rmi.RemoteException;
public int getsub(int a,int b) throws java.rmi.RemoteException;
public int getmul(int a,int b) throws java.rmi.RemoteException;
}
RMI Implementation
---------------------------
import java.io.*;
import java.rmi.*;
import java.rmi.server.*;
public class myRMIImpl extends UnicastRemoteObject implements myRMIInterface
{
public myRMIImpl(String name) throws RemoteException
{
super();
try
{
Naming.rebind(name,this);
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
public int getadd(int a,int b)
{
return(a+b);
}
public int getsub(int a,int b)
{
return(a-b);
}
public int getmul(int a,int b)
{
return(a*b);
}
}
RMI Client
----------------
import java.io.*;
import java.lang.*;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
public class myRMIClient
{
public static void main(String []argv)
{
System.setSecurityManager(new RMISecurityManager());
if(argv.length!=1)
{
System.out.println("IP Address of Server Required");
System.exit(0);
}
String servername=argv[0];
try
{
myRMIInterface interef = (myRMIInterface)
Naming.lookup("rmi://"+servername+"/myRMIImplInstance");
int row,col,ch;
String str;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.println("---------------------------");
System.out.println("1.Matrix Addition");
System.out.println("2.Matrix Subtraction");
System.out.println("3.Matrix Multiplication");
System.out.println("4.EXIT");
System.out.println("---------------------------");
System.out.print("Enter Ur Choice : ");
str=br.readLine();
ch=Integer.parseInt(str);
int i,j;
int [][]a=new int[10][10];
int [][]b=new int[10][10];
int [][]c=new int[10][10];
switch(ch)
{
case 1:
System.out.println("Enter no of row :");
str=br.readLine();
row=Integer.parseInt(str);
System.out.println("Enter no of col :");
str=br.readLine();
col=Integer.parseInt(str);
for(i=0;i|
{
for(j=0;j
{
System.out.println("Enter value :");
str=br.readLine();
a[i][j]=Integer.parseInt(str);
}
}
System.out.println(" Matrix B");
for(i=0;i|
{
for(j=0;j
{
System.out.println("Enter value :");
str=br.readLine();
b[i][j]=Integer.parseInt(str);
}
}
for(i=0;i|
for(j=0;j
c[i][j]=interef.getadd(a[i][j],b[i][j]);
System.out.println("---------------------");
System.out.println(" Matrix A");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+a[i][j]);
System.out.println();
}
System.out.println("---------------------");
System.out.println(" Matrix B");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+b[i][j]);
System.out.println();
}
System.out.println("---------------------");
System.out.println("Matrix Addition : ");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+c[i][j]);
System.out.println();
}
break;
case 2:
System.out.println("Enter no of row :");
str=br.readLine();
row=Integer.parseInt(str);
System.out.println("Enter no of col :");
str=br.readLine();
col=Integer.parseInt(str);
for(i=0;i|
{
for(j=0;j
{
System.out.println("Enter value :");
str=br.readLine();
a[i][j]=Integer.parseInt(str);
}
}
System.out.println(" Matrix B");
for(i=0;i|
{
for(j=0;j
{
System.out.println("Enter value :");
str=br.readLine();
b[i][j]=Integer.parseInt(str);
}
}
for(i=0;i|
for(j=0;j
c[i][j]=interef.getsub(a[i][j],b[i][j]);
System.out.println("---------------------");
System.out.println(" Matrix A");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+a[i][j]);
System.out.println();
}
System.out.println("---------------------");
System.out.println(" Matrix B");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+b[i][j]);
System.out.println();
}
System.out.println("---------------------");
System.out.println("Matrix Subtraction : ");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+c[i][j]);
System.out.println();
}
break;
case 3:
System.out.println("Enter no of row :");
str=br.readLine();
row=Integer.parseInt(str);
System.out.println("Enter no of col :");
str=br.readLine();
col=Integer.parseInt(str);
for(i=0;i|
{
for(j=0;j
{
System.out.println("Enter value :");
str=br.readLine();
a[i][j]=Integer.parseInt(str);
}
}
System.out.println(" Matrix B");
for(i=0;i|
{
for(j=0;j
{
System.out.println("Enter value :");
str=br.readLine();
b[i][j]=Integer.parseInt(str);
}
}
int k;
for(k=0;k|
for(i=0;i|
for(j=0;j
c[i][j]+=interef.getmul(a[i][k],b[k][j]);
System.out.println("---------------------");
System.out.println(" Matrix A");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+a[i][j]);
System.out.println();
}
System.out.println("---------------------");
System.out.println(" Matrix B");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+b[i][j]);
System.out.println();
}
System.out.println("---------------------");
System.out.println("Matrix Multiplication : ");
System.out.println("---------------------");
for(i=0;i|
{
for(j=0;j
System.out.print(" "+c[i][j]);
System.out.println();
}
break;
}
}while(ch!=4);
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
}
RMI Server
----------------
import java.io.*;
import java.rmi.*;
import java.rmi.server.*;
public class myRMIServer
{
public static void main(String []argv)
{
System.setSecurityManager(new RMISecurityManager());
try
{
System.out.println("Server Waiting for client");
myRMIImpl impl=new myRMIImpl("myRMIImplInstance");
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
}