Se capisci questo semplice esempio sono sicuro che sarà molto più semplice di come l'hai implementata.
1) Server
il server sta dove ti pare, anche dietro un router quindi nattato. Accetta connessioni dall'esterno mediante dei thread
2) Client
questi possono stare anche sottoterra, basta che c'è una rete. Ognuno ha un identificatore univoco. Ad esempio come messenger sono identificati con un indirizzo mail
il client si connette al server, il quale vi rimane in contatto mediante una connessione TCP/IP e sta li in attesa
l'altro client fa la stessa cosa
quando io scrivo un messaggio a te il messaggio passa attraverso il server il quale ti inoltra il messaggio. E questa è la tua chat funzionante ovunque, basta semplicemente sapere l'indirizzo del server e solo del server.
Se vuoi rimanere come stai devi operare su entrambi i routers.
Entri nella pagina di configurazione del router e trovi la pagina relativa al port forwarding (inoltro di porta). Scegli il tipo di connessione (TCP o UDP), il numero di porta con la quale dialoghi e l'indirizzo ip del computer. Questa operazione va fatta su entrambi i routers non dimenticare.
|