2009-02-27 11 views

risposta

2

non ho visto uno, ma troverete più informazioni del necessario qui:

http://www.enchantedage.com/node/8

Non è terribilmente difficile da attuare, solo un po 'di lavoro.

C'è un codice sulla pagina che dimostra ciò che si basa su unix e windows, inclusi sia la parte server (l'introduttore) che le porzioni client. Non elenca una licenza, ma l'autore indica nel readme che la tecnica è gratuita, e re-implementandola dalle informazioni sulla pagina e l'esempio del codice sorgente sembra relativamente facile.

L'autore sembra essere il proprietario del sito Web incantato, quindi è probabile che tu possa contattarlo direttamente per ulteriori informazioni.

+0

Il collegamento non funziona. Immagino che questa sia la stessa pagina http://www.mindcontrol.org/~hplus/nat-punch.html – scoopr

+0

@scoopr Grazie, questa è una copia più vecchia. Sembra che l'originale sia stato spostato su http://www.enchantedage.com/node/8, ma se va via di nuovo, archive.org ha una copia che include il codice sorgente qui: http://web.archive.org/ web/20100911100603/http: //www.enchantedage.com/node/8 –

+0

Per inciso, l'autore dell'articolo e del codice è su Stack Overflow: http://stackoverflow.com/users/89233/jon-watte –

2

Il migliore che ho visto è UDT, che è una libreria UDP affidabile che include anche un mod di connessione "rendezvous" e che aiuta a prendersi cura della punzonatura NAT. Tutto quello che devi fare è capire l'indirizzo IP esterno e la porta e in qualche modo portarlo all'altro client (e viceversa). Una volta che conosci queste informazioni, ti connetti e leghi allo stesso tempo (con il set di modalità rendezvous) e farà del suo meglio per capire il resto.