服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java rmi编程


<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>

扫描关注微信公众号