Professional Documents
Culture Documents
>javac Calculator.java
Step : 2
>javac CalculatorImpl
console 1:
Start with the Registry. You must be in the directory that contains the classes you
have written. From there, enter the following:
rmiregistry
console 2:
>java CalculatorServer
console 3:
CalculatorImpl.java
CalculatorServer.java
import java.rmi.Naming;
public CalculatorServer() {
try {
Calculator c = new CalculatorImpl();
Naming.rebind("rmi://localhost:1099/CalculatorService", c);
} catch (Exception e) {
System.out.println("Trouble: " + e);
}
}
CalculatorClient.java
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
HelloInterface.java
import java.rmi.*;
public interface HelloInterface extends Remote
{
public String say() throws RemoteException;
}
Hello.java
import java.rmi.*;
import java.rmi.server.*;
public class Hello extends UnicastRemoteObject
implements HelloInterface {
private String message; // Strings are serializable
public Hello (String msg) throws RemoteException {
message = msg;
}
public String say() throws RemoteException
{
return message;
}
}
class HelloServer {
public static void main (String[] argv) {
try {
Naming.rebind("rmi://localhost/HelloServer", new Hello("Hello, world!"));
System.out.println("Hello Server is ready.");
}
catch (Exception e) {
System.out.println("Hello Server failed: " + e);
}
}
}
HelloClient.java
class HelloClient {
public static void main (String[] args) {
HelloInterface hello;
String name = "rmi://localhost/HelloServer";
try {
hello = (HelloInterface)Naming.lookup(name);
System.out.println(hello.say());
}
catch (Exception e) {
System.out.println("HelloClient exception: " + e);
}
}
}