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

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

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

    tangbao

    導航

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

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    url

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    最簡單的rmi

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


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

    import java.rmi.*;

    import java.rmi.server.*;


    public interface AddServer extends Remote

    {

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

    }


    2. 定義和實現服務器中遠程方法-----服務器類

    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

    {

    //創建該遠程對象

    AddServerImpl instance=new AddServerImpl();

    //注冊該遠程對象

    Naming.rebind("add",instance);

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

    }

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

    }

    }


    3. 定義與實現客戶-----客戶類

    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

    這時你會發現在文件夾中多了兩個文件AddServerImpl_Skel.class和AddServerImpl_Stub.class


    6. 創建安全策略

    在命令提示符下:policytool

    點擊Add Policy Entry按鈕

    點擊Add Permission按鈕

    在Permission列表框中選取:AllPermission

    點擊ok

    點擊Done按鈕

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

    7. 啟動RMI遠程注冊表

    在命令提示符下:start rmiregistry


    8. 啟動服務器

    在命令提示符下:java AddServerImpl

     

    9. 啟動客戶

    在命令提示符下:java AddClient

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



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


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


    網站導航:
     
    主站蜘蛛池模板: 91九色视频无限观看免费| 国产美女视频免费观看的网站 | 亚洲中文字幕久久精品蜜桃| 在线人成免费视频69国产| 亚洲欧洲国产精品香蕉网| 国产做国产爱免费视频| 国产亚洲福利一区二区免费看| 亚洲色偷拍区另类无码专区| 成人免费福利视频| 亚洲欧洲国产经精品香蕉网| 日本免费网站视频www区| 亚洲依依成人精品| 日本高清免费网站| japanese色国产在线看免费| 国产成A人亚洲精V品无码| 久久ww精品w免费人成| 亚洲videosbestsex日本| 日韩高清在线免费观看| 免费人成大片在线观看播放电影| 麻豆高清免费国产一区| 最新国产成人亚洲精品影院| 99免费在线视频| 久久久久亚洲AV无码网站| 成年女人毛片免费视频| 亚洲精品无码永久在线观看男男| 99re6免费视频| 亚洲国产成人超福利久久精品| 中文字幕在线免费看线人| 内射干少妇亚洲69XXX| 性做久久久久久久免费看| 亚洲国产精品一区二区久久| 九九精品免费视频| 亚洲的天堂av无码| 国产在线a不卡免费视频| 男人进去女人爽免费视频国产| 精品福利一区二区三区免费视频 | 最近中文字幕免费mv视频8| 亚洲一卡2卡3卡4卡5卡6卡 | 亚洲精品视频免费| 亚洲男女性高爱潮网站| 亚洲国产精品丝袜在线观看|