you can get registry by yourself,not use the registry tool.
so modify the server class:
///////////////////////
import java.rmi.Naming;
import java.net.*;
import java.rmi.registry.LocateRegistry;
public class CalculatorServer {
public CalculatorServer() {
try {
LocateRegistry.createRegistry(8808) ;///////////here modify!!!
CalculatorImpl c = new CalculatorImpl();
Naming.rebind("rmi://localhost:8808/CalculatorService",c);
System.out.println("sdfsdfsd");
} catch (Exception e) {
System.out.println("Trouble: " + e.getMessage());
}
}
public static void main(String args[]) {
new CalculatorServer();
}
}
///////////
and modify the client's port
//////////////
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
public class CalculatorClient {
public static void main(String[] args) {
try {
Calculator c = (Calculator)
Naming.lookup("rmi://localhost:8808/CalculatorService");///////the port is 8808
System.out.println( c.sub(4, 3) );
System.out.println( c.add(4, 5) );
System.out.println( c.mul(3, 6) );
System.out.println( c.div(9, 3) );
}
catch (MalformedURLException murle) {
System.out.println();
System.out.println(
"MalformedURLException");
System.out.println(murle);
}
catch (RemoteException re) {
System.out.println();
System.out.println(
"RemoteException");
System.out.println(re);
}
catch (NotBoundException nbe) {
System.out.println();
System.out.println(
"NotBoundException");
System.out.println(nbe);
}
catch (
java.lang.ArithmeticException
ae) {
System.out.println();
System.out.println(
"java.lang.ArithmeticException");
System.out.println(ae);
}
}
}