Java ServerSocket non accetta connessioni remote

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

Java ServerSocket non accetta connessioni remote

Messaggio da iJim »

Salve a tutti,
Ho creato una semplice classe java che utilizza ServerSocket, quando provo con telnet se, il pc che sta ascoltando tramite la ServerSocket e il pc che sta utilizzando telnet si trovano nella stessa rete, tutto funziona, ma se faccio il telnet da un altra rete, la ServerSocket non riceve niente.

Qualcuno sa come far accettare alla ServerSocket connessioni in entrata da un host remoto?
John_Marco
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 311
Iscrizione: martedì 5 maggio 2009, 19:55
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS X86_64
Sesso: Maschile
Località: Potenza - Roma

Re: Java ServerSocket non accetta connessioni remote

Messaggio da John_Marco »

Ciao, ti propongo una idea semplice : hai mappato il tuo server sul router in ingresso alla rete? E hai verificato se per caso un eventuale firewall sul sistema su cui gira il server non blocchi le connessioni in ingresso?
Magari sembrerà una cosa banale, ma spesso sono queste piccole dimenticanze a non far funzionare i programmini ;)
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

Re: Java ServerSocket non accetta connessioni remote

Messaggio da iJim »

Grazie per la risposta!
Effetivamente volelo proprio evitare il portforwanding!
Mi chiedo se mettendo la ServerSocket in ascolto sulla porta 80, funziona!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Java ServerSocket non accetta connessioni remote

Messaggio da Zoff »

iJim [url=http://forum.ubuntu-it.org/viewtopic.php?p=4604621#p4604621][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Grazie per la risposta!
Effetivamente volelo proprio evitare il portforwanding!
Mi chiedo se mettendo la ServerSocket in ascolto sulla porta 80, funziona!
No, non funziona. I router tradizionali bloccano TUTTE le connessioni in ingresso.
Anche perché come fa il router a conoscere l'IP del PC a cui reindirizzare le richieste?
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

Re: Java ServerSocket non accetta connessioni remote

Messaggio da iJim »

Devo scrivere una piccola applicazione peer to peer, ho letto su internet che è possibile tramite una tecnica che si chiama NAT Hole Punching.

L'host A invia una richiesta POST ad un server, e da li riesco a conoscere l'IP e la porta, a questo punto l'host A rimane in attesa di connessione tramite una ServerSocket.
L'host B tramite telnet a quel IP con quella porta non riesce a stabilire una connessione con A, proprio perchè il NAT blocca le connessioni in entrata.
Vorrei sfruttare la tecnica del NAT Hole Punching per poter stabilire una connessione A <---> B

Qualcuno sa dirmi qualcosa sulla tecnica del NAT Hole Punching?
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti