Ahoj, je tu nekdo schopen mi poradit jak na Nat traversal? ZKousel sem UDP Hole punching, ale bud jsem delal neco spatne a nebo mi to nefungovalo. Idealni by byl nejakej funkcni priklad ve VB6 protoze te nejlip rozumim... teorii mam snad nastudovanou spravne, ale v praxi nezabrala, takze kdo vi. Uvitam jakoukoliv pomoc. Dekuji. Jak jsem to zkousel: Mel sem server na verejne IP adrese (asistenta pro navazani spojeni) ktery naslouchal na UDP portu 1111, pote jsem spustil 2x aplikaci klienta, tito klienti se pripojili pres UDP protokol na onen server. Server jakmile byli pripojeni oba klienti, kazdemu z nich poslal IP adresu a port (samozrejme tu verejnou za NATem) toho druheho, to znamena v tuto chvili oba klienti znali obe IP adresy a porty, a pres UDP aniz by se odpojili se pokusili poslat pakety UDP na tento druhy pocitac (ve Winsocku sem kazdemu z klientu zmenil remoteHost a remotePort na IP a port toho natu co poslal zprostredkujici server). Nedoslo k odpojeni UDP spojeni, takze NAT by nemel to pripojeni zavrit a mel by dale akceptovat pozadavky, ale komunikace neprosla... to znamena ze NAT to bud zahodil protoze se jednalo o jinou IP adresu (pakety UDP uz neprichazeli od serveru ale od jednoho z klientu) a nebo to neslo pro to ze sem mel oba klienty za tim samim NATem, ale to by, predpokladam, nemel byt problem.
|