<b>step 1: implements the interface of remote server as simplecounterserver.java</b>
public interface simplecounterserver extends java.rmi.remote
{
public int getcount() throws java.rmi.remoteexception;
}
compile it with javac simplecounterserver.java
<b>step 2: produce the implement file simplecounterserverimpl.java as</b>
import java.rmi.*;
import java.rmi.server.unicastremoteobject;
//
//
// simplecounterserverimpl
//
//
public class simplecounterserverimpl
extends unicastremoteobject
implements simplecounterserver
{
private int icount;
public simplecounterserverimpl() throws java.rmi.remoteexception
{
icount = 0;
}
public int getcount() throws remoteexception
{
return ++icount;
}
public static void main(string args[])
{
system.setsecuritymanager(new rmisecuritymanager());
try
{
simplecounterserverimpl server = new simplecounterserverimpl();
system.out.println("simplecounterserver created");
naming.rebind("simplecounterserver",server);
system.out.println("simplecounterserver registered");
}
catch(remoteexception x)
{
x.printstacktrace();
}
catch(exception x)
{
x.printstacktrace();
}
}
}
complile it with javac simplecounterserverimpl.java
<b>step 3: produce skeleton and stub file with rmic simplecounterserverimpl</b>
you will get two class files:
1.simplecounterserverimpl_stub.class
2.simplecounterserverimpl_skel.class
<b>step 4: start rmiregistry </b>
<b>step 5: java simplecounterserverimpl</b>
<b>step 6: implements the client applet to invoke the remote method</b>
file :simplecounterapplet.java as
import java.applet.applet;
import java.rmi.*;
import java.awt.*;
//
//
// simplecounterapplet
//
//
public class simplecounterapplet extends applet
{
string message="";
string message1 = "";
public void init()
{
setbackground(color.white);
try
{
simplecounterserver sever = (simplecounterserver)
naming.lookup("//"+getcodebase().gethost()+"/simplecounterserver");
message1 = "//"+getcodebase().gethost()+"/simplecounterserver";
message = string.valueof(sever.getcount());
}
catch(exception x)
{
x.printstacktrace();
message = x.tostring();
}
}
public void paint(graphics g)
{
g.drawstring("number is "+message,10,10);
g.drawstring("number is "+message1,10,30);
}
}
<b>step 7 create an html file rmi.htm : </b>
< html>
< body>
< applet code="simplecounterapplet.class" width="500" height="150">
< /applet>
< /body>
< /html>
闽公网安备 35060202000074号