|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
[JAVA] Socket con ip pubblici
Buonasera,
ho un server e un client che comunicano tramite socket tcp. La connessione funziona fin quando opero sulla stessa macchina (localhost) o in rete locale. Non funziona, invece, quando provo a stabilire una connessione tramite internet, utilizzando gli ip pubblici: mando in esecuzione sul mio PC il server, mentre il client viene mandato in esecuzione su un altro PC, che prova a stabilire una connessione con il server attraverso il mio IP (pubblico). Ho già disattivato il firewall del router. Ho pensato allora che fosse un problema di porte non aperte sul router. Ho tentato con un port forwarding, ma niente: le porte risultano sempre chiuse, anche attivando la DMZ. Dove sbaglio? Ho Fastweb, il router è un Technicolor TG788vn v2. Grazie in anticipo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Hai attivato le porte sul router per il server o no?
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Le ho attivate, però quando vado a fare il test, risultano sempre chiuse...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Così non ti si può aiutare ... devi dare maggiori informazioni.
Quale ip privato ha il server? Come hai aperto l'ip sul router? Quale ip pubblico e porta utilizzi? |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Il mio ip privato è 192.168.1.67. Sul router ho provato ad aprire la porta 25568 e dopo la porta 4601.
Il mio ip pubblico è del tipo 93.5x.xx.xx Vorrei che il client si connetta al server (in esecuzione sul mio pc), stabilisca la connessione utilizzando il mio ip pubblico. Ho provato ad aprire le porte attraverso l'opzione (del router) Condivisione giochi e applicazioni (ora non so se conosci il mio router). |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Beh, non so cosa dirti ... deve funzionare ...
Su quale IP ascolta il software server? |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Usando la classe ServerSocket, il server rimane in ascolto sulla porta. Che io ho provato ad aprire (la 25568). Il problema, secondo me, è il router, dato che, effettivamente, la porta non la apre.
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Mostra una schermata di quello che hai fatto sul router
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Secondo me
1) UDP non ti serve 2) Registro deve essere Acceso 3) Protocollo e porta di attivazione Nessuno |
|
|
|
|
|
#11 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Niente, sempre chiuso.
Comunque, per vedere se le porte sono aperte, utilizzo il servizio di questo sito http://www.yougetsignal.com/tools/open-ports/ Ultima modifica di Eddie96 : 24-02-2015 alle 20:56. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Quel servizio non ti dice se la porta del router è aperta. Nulla te lo potrebbe dire se dall'altra parte il server non risponde.
Quindi, probabilmente il server non è impostato correttamente. |
|
|
|
|
|
#13 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Quando faccio il test, lascio il server (scritto in java) in esecuzione. Non basta?
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Sì, dovrebbe. Ma se il server non funziona bene o non è configurato correttamente e non risponde, la porta apparirà chiusa al servizio che stai usando.
Sei sicuro che il server lavori correttamente? Usi Windows? Puoi controllare il risultato di NETSTAT -an ? |
|
|
|
|
|
#15 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Comunque il codice è molto semplice:
Codice:
try {
ServerSocket receiveSocket = new ServerSocket(25568);
System.out.println("SERVER: Running...");
Socket client = receiveSocket.accept();
} catch (IOException ex)
{
ex.printStackTrace();
}
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Non farlo ascoltare su 0.0.0.0 ma sull'IP privato che hai impostato sul router (per intenderci il corrispondente di vincenzo-desktop)
|
|
|
|
|
|
#17 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Come faccio a fare una cosa del genere?
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Devi indicare l'ip in ServerSocket
Vedi la documentazione del metodo |
|
|
|
|
|
#19 |
|
Junior Member
Iscritto dal: Jul 2012
Messaggi: 21
|
Fatto, la netstat ora mi da l'indirizzo privato. Ma il test da sempre lo stesso risultato
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Hai fatto anche quelle modifiche nel router?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:57.



















