rmiinterface.java
****************
import java.rmi.*;
public interface rmiinterface extends Remote
{
public int add(int a ,int b) throws RemoteException;
public int great(float a,float b) throws RemoteException;
public String concat(String aa,String bb) throws RemoteException;
}
rmiserver.java
**************
import java.rmi.*;
import java.rmi.server.*;
public class rmiserver extends UnicastRemoteObject implements rmiinterface
{
public rmiserver() throws RemoteException
{}
public int add(int a,int b) throws RemoteException
{
int c;
c=a+b;
return c;
}
public int great(float a,float b) throws RemoteException
{
int c;
if(a>b)
{
c=1;
}
else
{
c=0;
}
return c;
}
public String concat(String a,String b) throws RemoteException
{
String c;
c=a+b;
return c;
}
public static void main(String args[]) throws Exception
{
rmiserver s= new rmiserver();
Naming.rebind(args[0],s);
System.out.println("Registered");
}
}
rmiclient.java
*************
import java.rmi.*;
import java.io.*;
import java.lang.*;
public class rmiclient
{
public static void main(String args[]) throws Exception
{
int a,b,ch;
int ch1=3;
String aa,bb;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
rmiinterface m=(rmiinterface)Naming.lookup(args[0]);
BufferedReader dis = new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.println("1.ADD TWO NUMBERS");
System.out.println("2.FIND GREATEST");
System.out.println("3.CONCATENATE");
System.out.println("4.EXIT");
System.out.println("ENTER YOUR CHOICE");
ch=Integer.parseInt(dis.readLine());
switch(ch)
{
case 1:
System.out.println("Enter no 1");
a=Integer.parseInt(dis.readLine());
System.out.println("Enter 2");
b=Integer.parseInt(dis.readLine());
int k=m.add(a,b);
System.out.println("Sum is "+k);
break;
case 2:
System.out.println("Enter no 1");
a=Integer.parseInt(dis.readLine());
System.out.println("Enter 2");
b=Integer.parseInt(dis.readLine());
int kk=m.great((float)a,(float)b);
if(kk==1)
{System.out.println("Greatest no is "+a);
}
else
{
System.out.println("Greatest no is "+b);
}
break;
case 3:
System.out.println("Enter string1:");
aa=br.readLine();
System.out.println("Enter string2");
bb=br.readLine();
String ss=m.concat(aa,bb);
System.out.println("Concatenated string is "+ss);
break;
case 4:
System.exit(0);
break;
}
}
while(ch1<=4);
}
}
• Compile all the files in the following order Interface,Server,Client file
• rmic [serverfile name](say rmic rmiserver)
• start rmiregistry
• java [serverfile name] [key name to register]
• java [clientfile name] [key name to acess the implementation file]
OUTPUT:
*********
D:\>path=%path%;c:\jdk1.3\bin
D:\>javac rmiinterface.java
D:\>javac rmiserver.java
D:\>javac rmiclient.java
D:\>rmic rmiserver
D:\>start rmiregistry
D:\>java rmiserver ss
Registered
*****************************************************************
D:\>path=%path%;c:\jdk1.3\bin
D:\>java rmiclient ss
1.ADD TWO NUMBERS
2.FIND GREATEST
3.CONCATENATE
4.EXIT
ENTER YOUR CHOICE
1
Enter no 1
15
Enter 2
35
Sum is 50
1.ADD TWO NUMBERS
2.FIND GREATEST
3.CONCATENATE
4.EXIT
ENTER YOUR CHOICE
2
Enter no 1
46
Enter 2
14
Greatest no is 46
1.ADD TWO NUMBERS
2.FIND GREATEST
3.CONCATENATE
4.EXIT
ENTER YOUR CHOICE
3
Enter string1:
God
Enter string2
Saves
Concatenated string is GodSaves