我正在尝试连接到已在远程服务器上启动的 RMI 注册表,但一段时间后出现以下异常:
java.rmi.ConnectException: Connection refused to host: *.*.*.*; nested exception is:
java.net.ConnectException: Connection timed out
通过在服务器上本地运行客户端,一切正常,但我无法远程连接到它;甚至来自telnet。但是,如果我运行
start rmiregistry 1337
我可以从 telnet 远程连接到它。我假设这是我在运行服务器代码时必须设置的东西,但我很难找出它是什么。
这是服务器代码的一部分:
String codeBasePath = "file:/C:/*path*/build/classes";
System.setProperty("java.rmi.server.codebase", codeBasePath);
System.setProperty("java.rmi.server.hostname", *host IP*);
RemoteFileServer server = new FileServer();
Registry registry = LocateRegistry.createRegistry(PORT);
registry.bind(*name*, server);
System.out.println("Server ready");
如果您需要更多信息/代码来帮助我弄清楚,请告诉我。