È possibile utilizzare le classi client e listener .NET per connettersi a qualsiasi computer su qualsiasi indirizzo IP situato in qualsiasi parte del pianeta. Il problema è che dovrai conoscere l'indirizzo IP dell'altro computer e dovrà accettare le tue connessioni.
Se l'altra macchina è protetta da un firewall, le cose diventano più difficili. Il firewall bloccherà le richieste di connessione non richieste, incluse le richieste dalla tua macchina per comunicare con l'altra macchina dietro il firewall. I client di messaggistica istantanea hanno questo problema tutto il tempo - aggirano il problema facendo collegare ciascuna estremità della connessione a un server intermedio che trasmette i dati tra le due connessioni.
Cioè, la tua macchina può effettuare chiamate verso macchine che sono su Internet pubblica, e quando effettui tale connessione attraverso un firewall il tuo firewall permetterà alle macchine che ti colleghi di rispondere, ma non puoi connetterti direttamente su un'altra macchina dietro un firewall, a meno che non si prendano accordi preventivi come l'apertura di un numero di porta TCP/IP specifico sul firewall.
Esistono ora standard di protocollo come UPnP che consentono al computer di richiedere al firewall locale di aprire una porta per una connessione specifica. Se anche il computer all'altra estremità esegue questa operazione, sarebbe possibile stabilire una connessione TCP/IP tra le due macchine tramite i rispettivi firewall, IF è possibile trovare un modo per comunicare i numeri di porta tra loro. Dovresti inviare il numero di porta che è stato aperto sul tuo firewall all'altro computer e dovresti inviarti il numero di porta aperta sul loro firewall. Quindi avrai comunque bisogno di una sorta di intermediario per scambiare almeno queste informazioni di connessione in modo che ciascuna delle parti possa connettersi direttamente all'altra.
Wow, grazie per la rapida risposta. Sono davvero sorpreso di quanto velocemente e quanto sia stata utile la risposta che ho ricevuto. Tutti hanno affrontato il problema in modo leggermente diverso e apprezzo tutte le diverse prospettive. Tuttavia, i firewall non sono qualcosa che dovrebbe essere un problema per la mia situazione. Inoltre, pagare soldi è fuori discussione per uno stupido net-game. Detto questo, Ricordo di essere riuscito a ottenere l'IP del gateway ma non so come farlo per un IP esterno. Potresti aiutarmi qui? – Overload119
@ user213371, è nel post originale. http://www.whatismyipaddress.com/ – riwalk