Sto progettando un'applicazione p2p che funziona sulla porta 30000. Il mio router non è UPnP quindi ho richiesto di inoltrare una porta al router. Ma Skype un'altra applicazione p2p funziona senza il port forwarding sul mio pc. Quando l'ho analizzato con wireshark ho trovato il suo utilizzo della porta UDP 48980, 58544. Sto usando C++.Come funziona Skype senza port forwarding?
C'è una libreria in python here che lo fa per i router Nat PnP. È possibile inoltrare automaticamente la porta al router indipendentemente dal tipo di router e dal sistema operativo. Quale dovrebbe essere l'approccio per farlo in C++ o in qualsiasi altra lingua.
ma la domanda è che sono IP dei client PUBLIC? vedi ad esempio A ha bisogno di comunicare con B e il server conosce l'IP di B ma quale ip usa? se questo è il caso è possibile ping anyones ip? scusa se è stupido –
Questa risposta descrive semplicemente A e non riesce a comunicare a B e il server inviando la giusta combinazione IP/Porta all'utente B. Manca il punto principale, che è chiamato perforazione e molto ben descritto nel link fornito da @ MartinBeckett. Vorrei solo aggiungere che è anche possibile inoltrare la porta indipendentemente dal tipo di router e dal sistema operativo, a condizione che il router supporti UPnP. – Igor
@rein cosa ne dici di NAT simmetrico? – onmyway133