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

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

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

    posts - 22,comments - 35,trackbacks - 0

    遠程接口RmiHelloRemoteIntfc .java

    import java.rmi.*;

    public interface RmiHelloRemoteIntfc extends Remote
    {
       String helloRemoteObj(String client) throws RemoteException;
    }

    遠程接口的實現類RmiHelloRemoteObj.java

    import java.rmi.server.*;
    import java.rmi.*;

    public class RmiHelloRemoteObj extends UnicastRemoteObject implements RmiHelloRemoteIntfc
    {

      public RmiHelloRemoteObj() throws RemoteException
      {
        super();
      }

      public String helloRemoteObj(String client) throws RemoteException
      {
         return "Hello World"+client;
      }

    }

    服務器類RmiHelloServer.java

    import java.io.*;
    import java.rmi.*;
    import java.rmi.server.*;
    import sun.applet.*;
    import java.rmi.registry.LocateRegistry;

    public class RmiHelloServer
    {

      public RmiHelloServer()
      {
      }
      public static void main(String[] args)
      {
        //創建并安裝安全管理器
        if(System.getSecurityManager()==null)
        {
           System.setSecurityManager(new RMISecurityManager());
        }

        try{
             //創建遠程對象
             RmiHelloRemoteObj ttt=new RmiHelloRemoteObj();
             //啟動注冊表
             LocateRegistry.createRegistry(2222);
             //獎名稱綁定到對象
             Naming.rebind("http://Fangm:2222/helloObj",ttt);

             System.out.println("RMI服務器正在運行。。。。。。");
          }
          catch(Exception e)
          {
             e.printStackTrace();
          }


      }
    }

    服務器端的權限文件RmiHelloServer.policy

    grant codeBase
    "file:/e:/download/rmitest/"
    {
     permission java.net.SocketPermission
          "*:1000-9999","accept,connect,listen,resolve";
    };

     

    現在就看看Client端是如何連接服務器和進行遠程方法的調用的吧


    import java.rmi.*;
    import java.rmi.server.*;

    public class RmiHelloClient
    {

      public RmiHelloClient()
      {
      }
      public static void main(String[] args)
      {
        //創建并安裝安全管理器
        if(System.getSecurityManager()==null)
        {
           System.setSecurityManager(new RMISecurityManager());
        }

        try{
              RmiHelloRemoteIntfc c1=(RmiHelloRemoteIntfc)Naming.lookup("rmi://Fangm:2222/helloObj");
              System.out.println(c1.helloRemoteObj("Everyone"));
        }
        catch(Exception e)
        {
           e.printStackTrace();
        }
        System.exit(0);

     

      }
    }

    Client端的權限文件RmiHelloClient.policy

    grant codeBase
    "file:/e:/download/rmitest/"
    {
      permission java.net.SocketPermission
          "*:1000-9999","accept,connect,listen,resolve";
    };

    好了,一個最簡單的RMI例子就安無了,對了還少了最重要的一步,那就是編譯和運行呢?我們就來了個Bat或Cmd的批處理來進行吧,

    看看RmiHello.bat吧

    javac RmiHelloRemoteIntfc.java

    javac RmiHelloRemoteObj.java

    rmic RmiHelloRemoteObj

    javac RmiHelloServer.java

    javac RmiHelloClient.java

    echo 在另一個窗口啟動服務器,請稍后。。。
    start java  -Djava.security.policy=RmiHelloServer.policy RmiHelloServer

    echo 運行客戶程序。。。
    java -Djava.security.policy=RmiHelloClient.policy RmiHelloClient

    posted on 2006-03-03 00:21 kelven 閱讀(511) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 老司机午夜精品视频在线观看免费| 亚洲日本国产精华液| 亚洲a∨国产av综合av下载| 国产在线观看麻豆91精品免费| 一个人看的www在线免费视频| 蜜臀91精品国产免费观看| 91亚洲一区二区在线观看不卡 | 免费在线精品视频| 久久亚洲欧美国产精品| 成人黄动漫画免费网站视频 | 国产亚洲真人做受在线观看| 久久性生大片免费观看性| 亚洲综合网站色欲色欲| 久久精品国产亚洲77777| 99久久99热精品免费观看国产| 麻豆亚洲av熟女国产一区二| 人成午夜免费视频在线观看| 亚洲黄页网在线观看| 日本成人免费在线| 思思久久99热免费精品6| 亚洲中文字幕在线观看| 无码精品国产一区二区三区免费| 亚洲视频免费观看| 女人18毛片特级一级免费视频| 国产精品亚洲色图| 亚洲精品无码不卡在线播HE| 久久久久久精品免费免费自慰| 亚洲中文无码永久免费| 亚洲片一区二区三区| 最好免费观看高清在线| 亚洲Av无码乱码在线观看性色| 黄色视频在线免费观看| 亚洲精品视频免费看| 国产免费久久精品久久久| 国产色无码精品视频免费| 亚洲一卡二卡三卡四卡无卡麻豆| 国产成人精品男人免费| 久久精品国产大片免费观看| 亚洲色丰满少妇高潮18p| 亚洲自偷自偷偷色无码中文| 人妻视频一区二区三区免费|