1。可以,不过要在etc/hosts文件里指明zsc的ip
2.可以,不过要保证在hzh上能找到相应的stub,或者指明codebase的url也可以

解决方案 »

  1.   

    刘哈大哥:
      能否再给我看一下,
    1,你说用etc/hosts是指什么呀,zsc的ip是不是用ping试出来.
    2,你说要找到相应stub是不是把client所在文件拷到hzh机子,
    其中client包括:PerfectTime_Stub.class、PerfectTime_Skel.class
    DisplayPerfectTime.class,  PerfectTimeI.class?????(编译过程如下)编译
    F:\java\rmi>javac -d server PerfectTimeI.java PerfectTime.java
    F:\java\rmi>javac -d client PerfectTimeI.java DisplayPerfectTime.java
    生成目录及文件:
    ├─client
    │  └─c15
    │      └─rmi
    │              DisplayPerfectTime.class
    │              PerfectTimeI.class
    └─server
        └─c15
            └─rmi
                    PerfectTime.class
                    PerfectTimeI.class5、生成rmi根
    F:\java\rmi>cd server
    F:\java\rmi\server>rmic c15.rmi.PerfectTime
    又生成两个文件:
    F:\JAVA\RMI\SERVER
    └─c15
        └─rmi
                PerfectTime.class
                PerfectTimeI.class
                PerfectTime_Stub.class
                PerfectTime_Skel.class
    6、拷贝文件 PerfectTime_Stub.class、PerfectTime_Skel.class到client\c15\rmi目录           
    7、编辑策略文件policy:
    grant {
    // Allow everything for now
    permission java.security.AllPermission;
    };
    保存在源文件所在目录中即F:\java\rmi\。
    8、启动rmi注册服务器
    F:\java\rmi>start rmiregistry 2005
    9、启动服务类(为了验证rmi功能,最好屏蔽classpath环境变量,即set classpath=)
    F:\java\rmi\server>java -Djava.rmi.server.codebase=file:///f:/java/rmi/server/ 
    -Djava.security.policy=file:///f:/java/rmi/policy c15.rmi.PerfectTime
    Ready to do Time
      

  2.   

    你要想两台机子都能正常运行,就把所有的文件都拷到这两台机子上(但相应的IP或机器名要做修改,都要是对方的IP或机器名),这是最简单也最不容易出错的方法.要不想这样,我看你还得好好的理解一下RMI的一些基本原理,到底客户端需要那些CLASS文件,服务器端需要那些CLASS文件.(一般来说首先两台机子都需要你要远程访问的类的远程接口的class文件和实现这个接口的类的CLASS文件,以及这个实现接口的类编译后产生的stub的class文件.)
      

  3.   

    把所有的文件都拷到两台机子上,好像失去 rmi的意义.
    我是把(PerfectTime.class,PerfectTime_Skel.class,PerfectTime_Stub.class,
    PerfectTimeI.class)在服务器zsch ,(DisplayPerfectTime.class,PerfectTimeI.class,
    PerfectTime_Stub.class,PerfectTime_Skel.class)拷到机子hzh上,
    这样对吗?
    我最不懂的还是这样连接时,在hzh上能否用PerfectTimeI t=(PerfectTimeI)Naming.lookup("rmi://zsc/PerfectTime")调用zsc的东西.
      

  4.   

    各位大哥!
    我终于可以在两台机子上运行,但是两台机子都是window2000,
    用一条对接线连接,在网络邻居即可找到另一台机子,
    那如果我要连接三台机子,一台是window2000,一台window98,
    还有一台只装linux,那我又该如何连接??????????????
      

  5.   

    这样做有问题,rmi应该是通过ipc/ip协议的,但用对接线连接应该是用微软的netBEUI
      

  6.   

    哦,那bdsc大哥,我需要怎么改变呢,
    比如我们宿舍三台电脑全部是上网通宽带的,
    如果不用对接线,都上网时,我是不是通过他们的IP地址寻找他们的机子了,
    不要线连接,直接通过INTERNET
    上找呢,那样机子上TCP/IP 
    协议设置也需要怎么改变吗