Originariamente inviato da stefano085
e se i due computer sono collegati ad internet normalmente (intendo non alla stessa rete)?
Vedo che stai facendo domande molto simili .... mi sembra allora buona cosa chiarire la questione in modo definitivo.

Quando si tratta di dover accedere a dei server che offrono i loro "servizi" sulla rete ad una certa "porta" ad un certo indirizzo, le uniche cose davvero importanti sono: a) Che sia noto dove collegarsi, intendo dire "sapere" hostname o IP e la porta, b) Che la porta sia davvero "aperta" lungo tutto il percorso tra il client e il server.

Ora ... generalmente non ci sono (quasi) mai problemi a "uscire" ... ci sono invece questioni di sicurezza ad "entrare". E la comunicazione tra client e server può passare attraverso una miriade di reti, dispositivi hw, router, firewall, ecc...

L'unica cosa che conta è che la porta sia "aperta" e per stabilire/configurare questo non esiste una regola unica e generale.

Uno scenario "tipico", specialmente tra 2 utenti "home" è questo:

codice:
  PC client --> router --> ISP ----+
                                   |
                                internet
                                   |
  PC server <-- router <-- ISP ----+
Ognuno dei 2 utenti usa un router ADSL per connettersi ad internet tramite il proprio ISP (provider).
Se il server vuole offrire un "servizio" di rete usabile da internet su una certa porta, dovrà configurare il suo router per far sì che la porta sia "aperta". In modo che un altro utente, sapendo l'indirizzo "pubblico" su internet e sapendo la porta possa connettersi al server. E il router "girerà" i pacchetti su un indirizzo tipicamente privato es. 192.168.0.123 che è dentro la rete privata dietro il router.

E come fare tutto questo, lo ripeto ancora una volta, non è possibile spiegarlo in generale, perché dipende da tutta la infrastruttura di rete e dal tipo dei dispositivi usati.
E comunque non centra nulla con Java e con la programmazione!

Chiaro ora?