RMI Matrix

RMI Interface
-------------------

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);
                }
        }
}