Java RMI: connessione rifiutata

Ho scritto il seguente codice per il client di RMI. Ma ottenendo

java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused: connect 

codice :

 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); } } } 

Se stai ricevendo questo su bind, rebind o ricerca, il Registro non è in esecuzione. Se esegui la chiamata remota, consulta l’elemento A.1 nelle Domande frequenti RMI fornite con Javadoc e, se stai eseguendo Linux, controlla anche che il file / etc / hosts esegua il mapping di 127.0.0.1 in localhost e il tuo indirizzo IP reale al tuo vero hostname – questo è stato un problema comune in alcune distribuzioni Linux.

Ho incontrato lo stesso problema. È sciocco ma solo che ho dimenticato di avviare il processo di registro RMI.

Quindi, è anche necessario eseguire il processo di registro RMI

 rmiregistry 

Prima di provare a rebindare (indirizzo, obj) con il registro RMI.