如何在java程序中解决java.rmi.ConnectException?

时间:2012-06-16 05:45:32

标签: java sockets rmi

我已经创建了一个简单的java RMI程序来理解它是如何工作的。但是当我试图运行我的服务器端时它引发了以下异常。

编辑:我们正在使用代理连接...

 Remote exception: java.rmi.ConnectException: Connection refused to host: 10.7.150.18; nested exception is: 
   java.net.ConnectException: Connection refused: connect

这是我的服务器端代码供您参考......

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

public class SampleServerImpl extends UnicastRemoteObject implements SampleServer
{
  SampleServerImpl() throws RemoteException
  {
     super();
  }
    @Override
  public int sum(int a,int b) throws RemoteException
  {
     return a + b;
  }

    public static void main(String[] args)
    {
      try
      {
        //set the security manager  
        //System.setSecurityManager(new RMISecurityManager());
        //create a local instance of the object
        SampleServerImpl Server = new SampleServerImpl();
        //put the local instance in the registry
        Naming.rebind("//10.7.150.18:9999" , Server);
        System.out.println("Server waiting.....");
      }
      catch (java.net.MalformedURLException me) 
      {
        System.out.println("Malformed URL: " + me.toString());  
      }
      catch (RemoteException re)
      {
         System.out.println("Remote exception: " + re.toString()); 
      }    
    }
}

请指导我摆脱这个问题...

1 个答案:

答案 0 :(得分:0)

Naming类提供了用于存储和获取对远程对象注册表中的远程对象的引用的方法。 Naming类的每个方法都将其参数作为其参数之一,其名称是URL格式的java.lang.String(没有scheme组件):

//host:port/name

以网址格式添加名称

//10.7.150.18:9999/Server