zoukankan      html  css  js  c++  java
  • RMI 自己创建的 过程

    文件包testrmi  里有四个文件

    (1)HelloInterface.java(远程接口)

     

    (2)HelloImplementor.java(服务器类,实现远程接口)

    public class HelloImplementor extends UnicastRemoteObject implements HelloInterface

     

    无法逐一编译,直接全部编译

    (3)生成存根  rmic –v1.2 testrmi.HelloImplementor

      

    (4)编写主类HelloHelper  实例化服务器类,生成远程对象,并且向注册库命名注册远程对象。

      (编写完了,一起注册了)

    (这个 start  rmiregistry  ,  运行的是哪个文件下的程序)

     

    服务器端的HelloClient

     

    为什么都在一个文件夹下,如果不是在一个文件下,不是在一个机器上呢???

    HelloInterface h=(HelloInterface)Naming.lookup("rmi://localhost:1099/2-3");

    HelloInterface:定了要在一个包里,要不然这个就识别不了,

    localhost: 定了在一台机器上,要不然写IP地址。

    这个包的问题,可以去掉

    首先将,所有的package  去掉 ,让包 不在一个包里,但是编译的时候还是要一起编译,否则还是通过不了 ,

    (1)       一起编译

         运行rmic   (1.2之后,不在生成skeleton)

     

    (2)建立两个文件夹:

    Server:

    (网上一篇文章说,包含HelloImplementor_Stub,和HelloImplementor_Skel ,而不包含HelloImplementor.class。但是后者不在生成了,如果只包含前者,不包含HelloImplementor.class,运行出现错误,包含了HelloImplementor.class而不包含Stub,运行没有问题。)

    Client:

     

    (3)启动RMI注册:

     

    是start rmiregistry ,而不是直接rmiregistry ( 换高版本后,命令样式改了??)

    (4)在Server下启动 实现远程接口的对象的实例(里面同时运行的是向注册库 命名注册远程对象实例  hi)

     

    (5) 在Client  下启动 访问程序

     

  • 相关阅读:
    双向链表的创建,查找,删除
    atoi 函数自实现
    strcmp,strcpy,strcat,strncmp,strncpy,strncat,自实现精炼版本
    天生棋局(堆上申请二维空间的应用)
    使用二级指针,初始化一级指针
    指针数组的简单理解
    输入二进制数,输出10进制数
    阶乘循环联系题
    [剑指offer] 二叉搜索树的第k个节点
    二叉树的序列化和反序列化
  • 原文地址:https://www.cnblogs.com/gongyu/p/3962635.html
Copyright © 2011-2022 走看看