Pages: [1]   Go Down
Print
Author Topic: esercizio RMI  (Read 837 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
rox
Forumista
***
Offline Offline

Posts: 633


« on: 24-12-2011, 14:50:53 »

salve ragazzi ,
ho provato a fare un semplice esercizio sulle RMI . Se lo faccio sull'indirizzo locale,funziona tutto alla perfezione,appena faccio girare lato client e lato server su due macchine diverse,non funziona più niente,perchè?
Logged

Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
XDnl
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 376



« Reply #1 on: 24-12-2011, 15:35:53 »

Puoi verificare due cose:

  • Ho notato che bisogna includere il percorso dove ci sono i file .class nella variabile di ambiente CLASSPATH (non so perchè ma anche lanciando il programma con java -cp . NomeProgramma, che dovrebbe impostare il classpath nel percorso corrente, non funziona)
  • Nel server prima del programma vero e proprio lancia rmiregistry. Nel codice, quando fai il lookup di un oggetto volendo puoi usare anche l'indirizzo locale, ad esempio:
Code:
java.rmi.Naming.lookup("rmi://127.0.0.1/OGGETTO");
Nel client invece non c'è bisogno di lanciare rmiregistry (perchè si connetterà a quello remoto già lanciato), però qui non puoi utilizzare l'indirizzo locale, bensì devi fare riferimento al server remoto, ad esempio:
Code:
java.rmi.Naming.lookup("rmi://192.168.1.15/OGGETTO");

    In generale il programma (client o server che sia) deve sempre riferirsi all'indirizzo dove gira rmiregistry (che potrebbe risiedere su una terza macchina).
    Ho provato anche io un esercizio su due macchine diverse (Win XP) e con questi accorgimenti funziona.

     
    « Last Edit: 24-12-2011, 15:41:36 by XDnl » Logged
    Pages: [1]   Go Up
    Print
    Jump to: