Я только пробую работать с RMI. Запускаю клиент и сервер на разных компьютерах. Сначала запускал в одной локальной сети (по вифи) - все работало. Я решил попробовать запустить клиент и сервер в интернете (без общего вифи или провода), но мне выдало ошибку:
java.rmi.ConnectException: Connection refused to host: 176.59.32.170; nested exception is: java.net.ConnectException: Connection timed out: connect
Вот файлы, которые я использую:
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface AddServerIntf extends Remote {
double add(double d1, double d2) throws RemoteException;
}
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class AddServerImpl extends UnicastRemoteObject implements AddServerIntf{
public AddServerImpl() throws RemoteException{
}
@Override
public double add(double d1, double d2) throws RemoteException {
return d1+d2;
}
}
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
public class AddServer {
public static void main(String[] args){
try{
System.setProperty("java.rmi.server.hostname", "176.59.32.170");
AddServerImpl obj = new AddServerImpl();
LocateRegistry.createRegistry(1099);
Naming.rebind("AddServer", obj);
}catch (Exception e){
System.out.println("Исключение: "+e);
}
}
}
import java.rmi.Naming;
import java.util.*;
public class AddClient {
static String kek = "176.59.32.170";
public static void main(String[] args){
try{
String addServerURL = "rmi://"+kek+"/AddServer";
AddServerIntf addServerIntf = (AddServerIntf) Naming.lookup(addServerURL);
double d1 = 3, d2 = 5;
System.out.println("Первое число: "+d1+"\nВторое число: "+d2+"\nСумма: "+addServerIntf.add(d1, d2));
}catch(Exception e){
System.out.println("Исключение: "+e);
}
}
}
На клиенте находятся следующие файлы: AddClient.java и AddServerIntf.java, а на сервере AddServer.java, AddServerImpl.java и AddServerIntf.java. На клиенте, очевидно, запускаю AddClient.java, на сервере -- AddServer.java.
IP-адрес динамический (с мобильного интернета). В качестве IP для соединения использую именно его. При работе в локальной сети использовал адрес компьютера, который 192.168... . Как сделать так, чтобы код работал посредством сети Интернет, исправить данную ошибку?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне нужно построить матрицу DSM-матрицу для Jar файлов (DSMForJars)
У меня есть WebView, содержание которого я формирую из локального txt, даю ему необходимые настройкиВ принципе, по вот этой инструкции я формирую...
Такой вопрос: как сделать что бы заголовок spinner отличался от выбранного значения, те
Всем приветПишу приложение на android для управления LED-лампой и для этого возникла задача сделать Color Picker который будет регулировать теплый...