----------------
public interface myRMIInterface extends java.rmi.Remote
{
public String sayhello(String str) throws java.rmi.RemoteException;
public String copystring(String str) throws java.rmi.RemoteException;
public String reversestring(String str) throws java.rmi.RemoteException;
public String palstring(String str) throws java.rmi.RemoteException;
}
RMI Implementation
----------------------
import java.rmi.*;
import java.rmi.server.*;
import java.io.*;
import java.lang.*;
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 String sayhello(String str)
{
return ("Hello "+str);
}
public String copystring(String str)
{
String str1=" ";
char ch;
int i;
for(i=0;i
{
ch=str.charAt(i);
str1+=ch;
}
return (str1);
}
public String reversestring(String str)
{
String rev="";
char ch;
int i;
for(i=(str.length())-1;i>=0;i--)
{
ch=str.charAt(i);
rev+=ch;
}
return rev;
}
public String palstring(String str)
{
String rev="";
char ch;
int i;
for(i=(str.length())-1;i>=0;i--)
{
ch=str.charAt(i);
rev+=ch;
}
if(rev==str)
{
return("Palindrom");
}
else
return("Not Palindrom");
}
}
RMI Client
------------
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.io.*;
import java.lang.*;
public class myRMIClient
{
public static void main(String []argv)
{
System.setSecurityManager(new RMISecurityManager());
if(argv.length != 1)
{
System.out.println("Please enter IPAddress of Server");
}
String servername=argv[0];
try
{
myRMIInterface interef=(myRMIInterface)
Naming.lookup("rmi://"+servername+"/myRMIImplInstance");
String str;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int ch;
do
{
System.out.println("------------------------");
System.out.println(" MENU ");
System.out.println("------------------------");
System.out.println("1.Hello Server");
System.out.println("2.Copy String ");
System.out.println("3.Reverse String");
System.out.println("4.To Check Palindrom String");
System.out.println("5.Upper case String");
System.out.println("6.Toggle case String");
System.out.println("7.EXIT");
System.out.println("------------------------");
System.out.print("Enter Ur Choice : ");
str=br.readLine();
ch=Integer.parseInt(str);
switch(ch)
{
case 1:
System.out.print("Enter name : ");
str=br.readLine();
System.out.println(interef.sayhello(str));
break;
case 2:
System.out.print("Enter String : ");
str=br.readLine();
System.out.println("Copy String is : "+interef.copystring(str));
break;
case 3:
System.out.print("Enter String : ");
str=br.readLine();
System.out.println("Reverse String is : "+interef.reversestring(str));
break;
case 4:
System.out.print("Enter String to check Palindrom : ");
str=br.readLine();
System.out.println(interef.palstring(str));
break;
case 7:
System.out.println("EXIT");
break;
}
}while(ch!=7);
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
}
RMI Server
---------------
import java.rmi.*;
import java.rmi.server.*;
public class myRMIServer
{
public static void main(String []argv)
{
System.setSecurityManager(new RMISecurityManager());
try
{
myRMIImpl impl=new myRMIImpl("myRMIImplInstance");
System.out.println("Server Waiting for Client");
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
}