我为 RMI 的客户端编写了以下代码。但是得到
java.rmi.ConnectException: Connection refused to host: localhost; nested
exception is:
java.net.ConnectException: Connection refused: connect
代码:
import java.rmi.*;
import java.net.*;
import java.rmi.registry.*;
class client
{
public static void main(String [] ars)
{
Iface serv;
Registry r;
String serveraddr = ars[0];
String serverport = ars[1];
String text = "Hey jude";
System.out.println("Sending" + text);
try{
r = LocateRegistry.getRegistry(
serveraddr,
(new Integer(serverport)).intValue()
);
serv = (Iface) r.lookup("rmi://server");
serv.receive(text);
}
catch(Exception e){
System.out.println(e);
}
}
}
最佳答案
如果您在绑定(bind)、重新绑定(bind)或查找时得到它,则注册表没有运行。如果您通过远程调用获得它,请参阅 RMI FAQ 中的 A.1 项。随 Javadoc 一起提供,如果您运行的是 Linux,还要检查您的/etc/hosts 文件是否将 127.0.0.1 映射到本地主机,并将您的真实 IP 地址映射到您的真实主机名 - 这在某些 Linux 发行版中是一个常见问题。
关于Java RMI : connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067637/