Ciao a tutti,
ho un quesito da proporvi: non so se il problema è nella applicazione che sto sviluppando, o nella configurazione della rete.
In pratica, ho scritto un programma client ed un programma server, usando, ovviamente, le socket. Il server deve rimanere in ascolto sulla porta 5555, n client possono connettersi quando vogliono per spedire dei file.
Il programma funziona tranquillamente se client e server sono all'interno della stessa rete privata, usando nel client l'IP privato del server.
Ho provato ad accedere da casa, dove ho fastweb, al server,utilizzando l'IP pubblico dello stesso server, ma il client mi dà una eccezione.
Ho pensato che il problema può essere dovuto al fatto che il mio PC sul quale gira il client esce su internet con l'IP del router di zona di fastweb, quindi le risposte del server vengono inviate al router stesso e non al mio PC con IP privato fastweb.
L'ipotesi è confermata anche dalle prove che ho fatto da un altro PC con connessione alice, ma inserito in una sottorete 192.168.0.x. Il comportamento è stato esattamente il medesimo.
Ho chiesto all'amministratore della rete, mi ha detto che se fosse così come io suppongo, anche qualsiasi altro programma che gira su un host con IP privato in una sottorete non dovrebbe funzionare (anche una banale richiesta HTTP), quindi probabilmente il problema è nella configurazione della rete (magari nel firewall).
Chi mi aiuta a districarmi?
Grazie!