Newsgroup: it.comp.java
Titolo: RMI e reti locali

Sto sviluppando una applicazione P2P, ma mi stanno sorgendo dei dubbi
riguardo le reti locali (e non posso neanche fare dei test, visto che non ho
a disposizione una tale rete).
Allora: supponiamo di avere due client in una LAN. Supponiamo che entrambi
lancino, sulla loro porta 1099, un Registry e registrino i rispettivi
clients, entrambi con il nome "client". Ora, se un altro client "esterno",
cioč collegato alla LAN via internet, fa un lookup all' host della LAN sulla
porta 1099, ed esegue una chiamata remota, quale dei due clients gli
risponde?
E se invece i due clients fossero registrati come "Client1" e "Client2", il
router sarebbe in grado di smistare correttamente le richieste?
Grazie mille in anticipo, Bye, Animanera. :)
--
Per le mie ricerche uso SOSPlanet.it
http://www.sosplanet.it
Il motore di ricerca dei motori di ricerca

 Grazie mille in anticipo, Bye, Animanera. :)
Come sopra.
Gigi.

 > risponde?
I due client suddetti lanciano il registry su due macchine DIVERSE, il che
significa che (se il server non effettua nessun test) questi potrebbero
tranquillamente registrarsi con lo stesso nick, o mi sbaglio?
Il problema è che il server preleva l'IP delle macchine in maniera remota, e
quindi per queste due macchine PRELEVERA' LO STESSO IP! Quindi, quando un
altro client effettuerà una richiesta su quell'IP e quella porta, chi
risponderà?!?
Grazie, Bye, Animanera. :)



Quale degli host? Se fa il lookup dell'oggetto su pino (rmi://pino:1099/Client) gli
risponde pino, se fa il lookup dell'oggetto su marco (rmi://marco:1099/Client) gli
risponde marco :-)
Non capisco, puoi spiegarti meglio?
Ciao,
    Bruno.
---
| Bruno Bossola 
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola
|
| Membro del JUG Torino - 
http://www.jugtorino.it
| 

 Non capisco, puoi spiegarti meglio?
Ok, mi spiego meglio.
Il tutto si basa su un mio preconcetto...e non vorrei che sia proprio questo
ad essere errato a causa della mia ignoranza in materia ethernet.
Consideriamo i due host. Diciamo che il primo (pino) ha indirizzo locale
192.168.1.1, ed il secondo 192.168.1.2 (marco).
Questi due client, SU INTERNET, appariranno entrambi con lo stesso IP,
giusto?!?!?!?!?!!? (diciamo, per semplicità 151.1.1.1).
Se quanto detto sopra è corretto, un PC ESTERNO alla LAN, NON potrà
(naturalmente) fare un lookup sul loro indirizzo locale, ma dovrà farlo su
quello che dovrebbe essere l'indirizzo della rete (e/o l'indirizzo che
corrisponde al Router della rete).
Quindi farà un lookup su rmi://
151.1.1.1:1099/Client
.
In tal caso, chi gli risponderà?
Grazie mille, Bye, Animera. :)


Si, non gli rispondera' nessuno :-), a meno che sul router non metti un sistema per fare
da proxy per il protocollo RMIP


 presentarsi.
Aspetta...voglio sperare che NON sia cosě!
Altrimenti non solo non mi sarebbe possibile raggiungere la macchina, ma
neanche la rete! (essendo l'indirizzo LOCALE l'applicazione lo andrebbe a
cercare nella MIA ipotetica rete locale sul quale č lanciato il MIO client!)
Animanera.


Invece confermo.
Il problema di RMI dietro NAT (sia client che server) č ben noto e c'č 
anche della documentazione online.
in particolare sul forum di JDC trovi un sacco di post :-)
Eccone uno
http://forum.java.sun.com/thread.jsp?forum=58&thread=289869
-- 
Fabio Ambrosanio
/quousque tandem/

 
http://forum.java.sun.com/thread.jsp?forum=58&thread=289869
Ah...peccato...:(
C'è anche un link ad una suite di API che dovrebbero risolvere il
problema...peccato che sono a pagamento.
Grazie mille, Bye, Animanera. :)

 router sarebbe in grado di smistare correttamente le richieste?
Si.
Questo funziona senza problemi (io ho fatto un sistema P2P con RMI per una
tesi).


Strano (per me) ma interessante. Puoi darci qualche dettaglio?


 Strano (per me) ma interessante. Puoi darci qualche dettaglio?
Ho anticipato (solo di qualche mese) una feature molto simile a quella che
usa WinMX.
Il download automatico da piů sorgenti diverse frammentando i dati da
richiedere in tanti piccoli frammenti in modo da sfuttare meglio i peer piů
veloci e utilizzando di meno i peer piů lenti.
Oltre a guadagni in efficienza, questo portava anche a una soluzione piů
tollerante ai guasti.


Ehm... no, no, dati tecnici, su come hai gestito la cosa via RMI viste le problematiche di
RMI che citavamo nell'altro subthread a riguardo nel P2P in presenza di NAT.


 RMI che citavamo nell'altro subthread a riguardo nel P2P in presenza di
NAT.
Ah scusa, ho capito male.
Questo non so dirtelo visto che nei miei test non c'erano dei NAT in mezzo.