<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tangbao

    導(dǎo)航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    url

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    最簡單的rmi

    1. RMI最簡單的一個實例,思路是你在服務(wù)器端創(chuàng)建一個方法addData(),該方法實現(xiàn)兩個整數(shù)的相加,然從客戶端遠程調(diào)用這個方法實現(xiàn)相加功能


    2. 我們一步一步來實現(xiàn),首先定義遠程接口-----遠程接口類

    import java.rmi.*;

    import java.rmi.server.*;


    public interface AddServer extends Remote

    {

    public int addData(int a,int b)throws RemoteException;

    }


    2. 定義和實現(xiàn)服務(wù)器中遠程方法-----服務(wù)器類

    import java.rmi.*;

    import java.rmi.server.*;

    //注意要擴展UnicastRemoteObject類

    public class AddServerImpl extends UnicastRemoteObject implements AddServer

    {

    public AddServerImpl()throws RemoteException

    {

    super();

    }

    public int addData(int a,int b)throws RemoteException

    {

    return a b;

    }

    public static void main(String s[])

    {

    try

    {

    //創(chuàng)建該遠程對象

    AddServerImpl instance=new AddServerImpl();

    //注冊該遠程對象

    Naming.rebind("add",instance);

    System.out.println("Server Registered");

    }

    catch(Exception e){System.out.println(e);}

    }

    }


    3. 定義與實現(xiàn)客戶-----客戶類

    import java.io.*;

    import java.rmi.*;


    public class AddClient

    {

    public AddClient()

    {

    try

    {

    BufferedReader input=new BufferedReader(new InputStreamReader(System.in));

    System.out.println("Please enter first number:");

    System.out.flush();

    String s=input.readLine();

    int num1=Integer.parseInt(s);

    System.out.println("Please enter second number:");

    System.out.flush();

    s=input.readLine();

    int num2=Integer.parseInt(s);


    AddServer addserver=(AddServer)Naming.lookup("rmi://127.0.0.1/add");


    int i=addserver.addData(num1,num2);

    System.out.print("Result is:" i);


    }

    catch(Exception e){System.out.println(e);}

    }

    public static void main(String s[])

    {

    new AddClient();

    }

    }


    4. 編譯javac *.java


    5. 生成Stub和Skeleton

    在命令提示符下:rmic AddServerImpl

    這時你會發(fā)現(xiàn)在文件夾中多了兩個文件AddServerImpl_Skel.class和AddServerImpl_Stub.class


    6. 創(chuàng)建安全策略

    在命令提示符下:policytool

    點擊Add Policy Entry按鈕

    點擊Add Permission按鈕

    在Permission列表框中選?。篈llPermission

    點擊ok

    點擊Done按鈕

    從File菜單總選擇Save as,打入文件名.java.policy,接著保存在你那個登錄用戶名的文件夾下面

    7. 啟動RMI遠程注冊表

    在命令提示符下:start rmiregistry


    8. 啟動服務(wù)器

    在命令提示符下:java AddServerImpl

     

    9. 啟動客戶

    在命令提示符下:java AddClient

    10. 如果你是在自己機器上調(diào)試的話,那么到第九步就可以了,如果你在兩臺機器上調(diào)試的話,需要改一下AddClient代碼中的IP地址
    ,并且把AddClient.class,AddServer.class和AddServerImpl_Stub.class放到你打算作為客戶端的那臺機器上去
    ,注意其它文件不要放,否則你就等于把服務(wù)端代碼都告訴別人了。



    posted on 2007-05-29 15:13 糖包 閱讀(92) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 精品国产亚洲一区二区三区在线观看| 亚洲精品视频在线| 亚洲精品天堂成人片AV在线播放| 亚洲一级毛片免费看| 久久丫精品国产亚洲av| 久久久精品免费国产四虎| 亚洲中文字幕无码爆乳AV| 中文字幕在线观看免费| 亚洲桃色AV无码| 国产在线一区二区综合免费视频| 狠狠亚洲婷婷综合色香五月排名| 一个人免费观看www视频| 久久久久亚洲精品天堂久久久久久| 黄页免费视频播放在线播放| 亚洲欧洲日产国码一级毛片| 9i9精品国产免费久久| 国产精品国产亚洲精品看不卡| a在线免费观看视频| 亚洲狠狠综合久久| 2022久久国产精品免费热麻豆| 亚洲字幕在线观看| 日本免费网站观看| 成在线人直播免费视频| 亚洲中文字幕在线第六区| 无码国产精品一区二区免费16| 亚洲一区二区影视| 波多野结衣一区二区免费视频 | 亚洲一区在线观看视频| 在线观看日本免费a∨视频| 亚洲日韩精品国产3区| 亚洲成人一区二区| A片在线免费观看| 亚洲国产综合精品中文第一| 免费日本黄色网址| 一区二区三区无码视频免费福利 | 久久久久亚洲国产| 亚洲av午夜成人片精品电影| 久久精品视频免费播放| 亚洲欧洲无码AV不卡在线| 亚洲人成网站在线观看播放| 16女性下面扒开无遮挡免费|