<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视频国产免费| 人妻免费久久久久久久了| 99久久精品国产亚洲| 在线免费观看国产视频| 丁香花在线视频观看免费| 99久久婷婷国产综合亚洲| 亚洲中文字幕无码久久综合网| 日本免费人成在线网站| 全部在线播放免费毛片| 亚洲精品高清国产麻豆专区| 免费国产怡红院在线观看| free哆啪啪免费永久| 国产免费内射又粗又爽密桃视频 | 亚洲人色婷婷成人网站在线观看| 2021在线永久免费视频| 免费的黄色网页在线免费观看| 亚洲综合一区二区精品久久| 久久亚洲中文字幕精品一区| 99精品全国免费观看视频 | 免费观看黄色的网站| 国产免费一区二区三区免费视频 | 亚洲热线99精品视频| 在线jlzzjlzz免费播放| 久久免费视频99| 日日狠狠久久偷偷色综合免费| 亚洲国产成人超福利久久精品| 国产成人亚洲综合| 在线免费观看一区二区三区| 最近高清中文字幕免费| 成人av片无码免费天天看| 亚洲精华国产精华精华液| 亚洲黄色三级网站| 亚洲乱码国产一区三区| 亚洲国产aⅴ综合网| 在线观看91精品国产不卡免费| 91精品视频在线免费观看| 在线观看片免费人成视频无码| 色网站在线免费观看|