Ciao a tutti, non riuscivo a trovare un tiolo più adatto o più esplicativo di quello che ho fatto ma vedrò di spiegarmi meglio.
Ho fatto un mio ormai classico programma di chat che con l'indirizzo ip riesco a trasportare messaggi dal client al server e viceversa. Mi sono però domandato come mai se io da fastweb provo a collegare il socket ad un pc con Alice non funziona. Dopo 15 secondi mi sono risposto da solo, e cioè fastweb non mi da un ip pubblico...
La mia domanda allora è, come fanno i vari programmi di messaggistica (come MSN per intenderci) a scambiare messaggi tra i vari utenti? Ogni volta io mando un messaggio al server della messaggistica e lui lo spedisce al destinatario? Come fa allora alcuni videogames (come cod6) a creare partite ad hoc tra utenti di vari operatori

In soldoni, oltre all'indirizzo ip cosa devo impostare per permettere ad un utente fastweb, per esempio, di chattare con un utente Alice? Per forza con un server pubblico che rimbalza il segnale??