spx ha scritto:
Nelle impostazioni del modem vado nella schermata del port forwarding ed imposto che il traffico su una porta, diciamo la 328, venga indirizzato verso l'ip 192.168.1.200 (cioè il mio pc che funge da server).
Sì, va aggiunta una regola (dove/come dipende appunti dal prodotto hardware che si ha) che in pratica dice "tutto quello che arriva dalla WAN sulla porta x "giralo" sulla LAN all'indirizzo Y".
(WAN è il termine usato nei router per indicare la porta fisica verso internet)
Ma non basta, ci sono altre 2 questioni.
1) sulla macchina dove gira il server ci potrebbe essere un firewall
software, che può essere quello eventualmente già integrato nel S.O. oppure un prodotto di terze parti. Anche qui devi averne il "controllo" ed andare ad "aprire" la porta che usa il server.
2) client e server sono connessi ad internet tramite un certo provider, potrebbe essere lo stesso oppure no. I provider potrebbero avere politiche di sicurezza più o meno restrittive per cui bloccano solo certe porte, oppure tutte
tranne alcune.
Se è il provider che blocca una certa porta, c'è ben poco, anzi praticamente nulla da fare ... devi scegliere tu un'altra porta che sia usabile.
spx ha scritto:
Per la parte java, invece, nel server ci metto questa riga:
Server = new ServerSocket(328);
mentre nel client questa:
socket = new Socket("92.45.255.235",328);
chiaramente il codice completo è più esteso, ma credo sia questa la parte "critica".
Sostanzialmente sì. Nel client chiaramente non è bene "cablare" l'indirizzo nel sorgente. Lo si può passare/parametrare in altri modi.
spx ha scritto:
So anche dell'ip dinamico che cambia continuamente ma credo che per fare almeno una prova in tempo reale non sia necessario avere un ip statico, sbaglio?
Sì, per prove va anche bene un ip dinamico, finché sei tu che conosci il IP "pubblico" o qualcun'altro a cui lo puoi comunicare. Tieni comunque presente che l'indirizzo cambia solo ad ogni connessione che il router fa verso il provider. Se tieni il router accesso 24/24h e non ci sono disconnessioni casuali o esplicite, il router può tenere un IP dinamico anche per giorni se non addirittura settimane/mesi.
L'ideale sarebbe un IP "statico" ma ovviamente è un servizio specifico e che costa.
L'alternativa è usare un servizio di "Dynamic DNS" (DDNS) ma dovrebbe essere il router ad avere il supporto per quel certo servizio.
I router moderni tipicamente hanno supporto almeno per il servizio
http://www.dyndns.or (che però mi pare non sia più "gratis") e magari anche qualcun'altro.