各位大侠,问题如题,具体是这样的:
怎样将rmi分布到三台电脑上,一台充当服务器Server,一台充当客服端Client,一台充当注册服务Registry.
能举个例子在 eclipse下运行就给分
顶贴有分!!
  谢谢

解决方案 »

  1.   

    没试过 将 注册  分离。。我们学习RMI的例子 是  服务端 和 客户端分离。。 和EJB差不多
      

  2.   

    答:目前的RMI不支持Registry与Server的分离。因此:
    你的方案是这样:
    1)Client不用说了。
    2)Server与它自己的Registry(局部Registry)在一起
    3)第三台机器上的充当注册服务的JAVA类,要你自己去写一下。当Server导出它的远程对象时,除了将远程对象导出到它自己Server的局部Registry中去时,同时将局部Registry的IP与PORT绑定到你自己的第三台机器上。这样,客户机只要向第三台机器进行查询时,你向Server的局部Registry中代为查询并返回“远程对象接口”就行了。
    4)目前RMI的实现不支持Registry与Server的分离的原因:主要是两点:1)相分离,则就需要一个全局范围内的层次式命名规则与映射机制 2)安全问题(如:只有通过身份验证才能向Registry发布信息等等)累此:你只能自己实现自己特定的分布式的Registry5)也可使用WEBSPHERE等应用服务器的JNDI服务来代替Registry,从而实现分离
    以上仅供你参考
      

  3.   

    因为是刚学rmi,这个分布到三台机子是老师安排的作业,应该是可以实现的,jiangnaisong 说的把局部Registry的IP与PORT绑定到你自己的第三台机器上,具体是怎样实现,Registry没有提供任何这样的类或者方法啊
      

  4.   

    局部Registry的IP与PORT绑定到你自己的第三台机器上,具体是怎样实现
      

  5.   

    答:老师布置这个作业的主要意图是:要求你自己写一个JAVA类,放在第三台机器上,完成Registry的功能。这个JAVA类写起来是简单的(主要就是一个MAP):主要功能就是:将server的那个局部Registry的IP与PORT 与server上导出的远程对象的绑定名,放在那个MAP上。这个就是“局部Registry的IP与PORT绑定到你自己的第三台机器”的含义。这样,客户机只要向第三台机器的Registry进行查询时,这个第三台机器上的Registry查询这个MAP,然后。
    1)可以直接返回局部Registry的IP与PORT 给客户方,让它继续再查询
    或者:
    2)第三台机器上的Registry再向局部Registry的IP与PORT 继续查询,返回远程对象的接口给客户方。
    具体就看你的选择了。这个题目是很简单的。
      

  6.   

    大概知道什么意思了, 我先去试试, 如果成功的话 过来结贴, 谢谢 jiangnaisong 咯