java.net.ConnectException :connection timed: connect?

2022-09-04 05:44:54

我在代码中使用了RMI:

 import java.rmi.*;

 public interface AddServerIntf extends Remote {
  double add(double d1,double d2) throws RemoteException;
 }

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

public class AddServerImpl extends UnicastRemoteObject implements AddServerIntf {
  public AddServerImpl() throws RemoteException {
  }

 public double add(double d1,double d2) throws RemoteException {
  return d1+d2;
 }
}  

import java.net.*;
import java.rmi.*;

public class AddServer {
   public static void main(String args[]) {
    try {
     AddServerImpl addServerImpl=new AddServerImpl();
     Naming.rebind("AddServer",addServerImpl);
    }  catch(Exception exc) {
          System.out.println(exc);
       }
   }
}

import java.rmi.*;
public class AddClient {
  public static void main(String args[]) {
     try {
       String Url="rmi://"+args[0]+"/AddServer";
       AddServerIntf addServerIntf=(AddServerIntf)Naming.lookup(Url);
       System.out.println("The first number is "+args[1]);
       double d1=Double.valueOf(args[1]).doubleValue();
       System.out.println("The second number is: "+args[2]);
       double d2=Double.valueOf(args[2]).doubleValue();
       System.out.println("The Sum is: "+addServerIntf.add(d1,d2));
     }  catch(Exception exc) {
         System.out.println(exc);
       }
   }
 }

这是写入的4.java文件。

接下来,我编译所有这些文件。然后我创建一个使用.之后,我使用在服务器端启动rmi注册表。然后我启动服务器使用,最后客户端使用。但没有任何反应stubrmic AddServerImplstart rmiregistryjava AddServerjava AddClient 27.60.200.80 5 9

在客户端引发的异常是 java.net.ConnectException : 连接超时 : 连接

原因是什么,我该如何解决这个问题?

在客户端计算机上,这些是以下.class文件和服务器端AddClient.class AddServerImpl.class AddServerImpl_Stub.classAddServer.class AddServerImpl.class AddServerImpl_Stub.class AddServerIntf.class


答案 1

错误消息说明了一切:您的连接超时。这意味着您的请求在某个(默认)时间范围内未得到响应。未收到答复的原因可能是:

  • a) IP/域或端口不正确
  • b) IP/域或端口(即服务)已关闭
  • c) IP/域的响应时间比默认超时长
  • d) 您有一个防火墙,可以阻止您正在使用的任何端口上的请求或响应
  • e) 您有一个防火墙,它阻止了对该特定主机的请求
  • f) 您的互联网访问已关闭

请注意,您的 ISP 可能设置了防火墙和端口或 IP 阻止


答案 2

数字 (1):IP 不正确 - 是正确的答案。/etc/hosts 文件(又名 C:\Windows\system32\drivers\etc\hosts)的本地计算机名称条目不正确。更正了“主机”文件,Camel运行良好。感谢您的指点。


推荐