补充一下我的程序如下:
FangFa.java
import java.rmi.Remote;
public interface FangFa extends java.rmi.Remote
{
public String getName() throws java.rmi.RemoteException;
public String getId() throws java.rmi.RemoteException;
public String getSex() throws java.rmi.RemoteException;
}
Server.java
import java.rmi.*;
import java.rmi.server.*;
public class Server extends UnicastRemoteObject implements FangFa
{
public Server() throws java.rmi.RemoteException
{super();}
public String getName() throws java.rmi.RemoteException {return "123";}
public String getId() throws java.rmi.RemoteException {return "0000001";}
public String getSex() throws java.rmi.RemoteException {return "123";}
}
Run.java
public class Run
{
public static void main(String args[])
{
try{
System.setSecurityManager(new java.rmi.RMISecurityManager());
Server obj=new Server();
java.rmi.Naming.rebind("//192.168.0.5/Server",obj);
java.rmi.Naming.rebind("//192.168.1.5/Server",obj);
System.out.println("Wait...");
}catch(Exception e){System.out.println(e);}
}
}
Client.java
import java.rmi.*;
public class Client
{
public static void main(String args[])
{
System.setSecurityManager(new RMISecurityManager());
try{
FangFa server=(FangFa)Naming.lookup("rmi://192.168.0.5/Server");
System.out.println(server.getId());
System.out.println(server.getName());
System.out.println(server.getSex());
}catch(Exception e){System.out.println(e);}
}
}
我在有一个网卡的机器上都调试好了。不知为什么到了两块网卡的机器就不行??

解决方案 »

  1.   

    我的policy如下:
    grant {
        permission java.security.AllPermission;
    };
    192.168.0.5
    在一个新dos窗口中:
    set classpath=
    rmiregistry
    在一个新dos窗口中:
    java -Djava.rmi.server.codebase=http://192.168.0.17/ -Djava.security.policy=java.policy Run
    其中:http://192.168.0.17/是我的stub文件的所在地
    192.168.0.17
    在一个新dos窗口中:
    java -Djava.security.policy=java.policy Client
    服务端和客户端用同一个policy
      

  2.   

    能不能解释一下RMI是什么意思啊?
      

  3.   

    我也碰到这种情况,不过我的电脑上面是3块网卡,
    不知道怎么解决,阿,
    有方法请告知,多谢
    [email protected]
      

  4.   

    能ping通,而且使用telnet可以联通相应的ip和端口
      

  5.   

    运行客户端的IP:192.168.0.17
    运行服务端的IP:192.168.0.5和192.168.1.5
    肯定能PING通192.168.0.5。
    192.168.1.5不行
      

  6.   

    问题已经解决
    方法如下:
    在运行rmiregistry时候添加java.rmi.server.hostname的属性
    start rmiregistry -J-Djava.rmi.server.hostname=192.168.0.5
    在注册你的服务时候
    java -Djava.rmi.server.hostname=192.168.0.5 Run
    应该就OK了