Fix: RMI no localhost

This commit is contained in:
rubenpirreram
2026-05-05 18:56:41 +02:00
parent 20ba64ea46
commit 836ed59c4c
2 changed files with 8 additions and 0 deletions
@@ -1,4 +1,5 @@
package it.polimi.ingsw.gc14.Network.RMI.Client;
import java.net.InetAddress;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
@@ -53,6 +54,8 @@ public class RMIClient implements IClient {
*/
public boolean connect(String username,int preferredInt) {
try {
String ip = InetAddress.getLocalHost().getHostAddress();
System.setProperty("java.rmi.server.hostname", ip);
Registry registry = LocateRegistry.getRegistry(host, port);
this.stub = (IGameServer) registry.lookup("RMIGameServer");
ClientCallbackImpl callback = new ClientCallbackImpl(controller);
@@ -8,12 +8,14 @@ import it.polimi.ingsw.gc14.Network.NetworkEvents.*;
import it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback;
import it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer;
import java.net.InetAddress;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
@@ -247,6 +249,9 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer {
*/
public boolean start() {
try {
String ip = InetAddress.getLocalHost().getHostAddress();
System.out.println("Starting RMI Server on IP: " + ip);
System.setProperty("java.rmi.server.hostname", "10.8.0.3"); // o il tuo IP/hostname
registry = LocateRegistry.createRegistry(nPort);
registry.rebind("RMIGameServer", this);
System.out.println("RMI Server started on port: "+nPort);