Чтение на Java и RMI, я подумал о создании небольшого прототипа, но по какой-то причине я не могу заставить его работать.Ядро RMI «соединение отказало/таймаут»
Я запускаю сервер: нет проблем
Я запускаю клиент: нет непосредственной проблемы.
Это занимает много времени, прежде чем он «находит» сервер (как на моей локальной машине), и когда он находит сервер и хочет, чтобы выполнить функцию, я вдруг получаю эту ошибку:
Connection refused to host: 25.71.177.149; nested exception is:
java.net.ConnectException: Operation timed out (Connection timed out)
UPDATE: После перезагрузки MacBook, я получаю эту ошибку:
Connection refused to host: 192.168.10.248; nested exception is:
java.net.ConnectException: Operation timed out (Connection timed out)
Env:
Java SDK 1,8
MacOS Sierra 10.12.3
Server.java
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class server {
public static void main(String[] args) {
try {
Registry reg = LocateRegistry.createRegistry(1099);
Calc calc = new Calc();
reg.rebind("calc", calc);
System.out.println("Server ready...");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Client.java
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client {
public static void main(String[] args) {
try {
Registry reg = LocateRegistry.getRegistry("localhost", 1099);
System.out.println(req.list()[0]); // Outputs "calc"
ICalc calc = (ICalc) reg.lookup("calc");
System.out.println("1 + 1 = " + calc.add(5,10));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
ICalc.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface ICalc extends Remote {
public int add(int param1, int param2) throws RemoteException;
}
Calc.java
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class Calc extends UnicastRemoteObject implements ICalc{
public Calc() throws RemoteException{
}
public int add(int param1, int param2) throws RemoteException {
return 0;
}
}
IP-идет речь здесь не является локальным. С каким IP-адресом вы пытаетесь подключиться? – f1sh
Местный, так как это локальный прото. – CreasolDev
Поиск по всему рабочему пространству, откуда этот IP-адрес? Или это ваш публичный ip? –