Hogy lehetne csatlakozni egy eszközre ha NAT-olt ip címe van?
Egy fájlküldő/fogadó alkalmazást szeretnék készíteni aminek a két része úgy nézne ki, hogy ha fájlt akarnak küldeni akkor létrehoz az eszközön egy szervert egy éppen szabad random porttal és az első csatlakozó kliensnek átküldené a fájlt.
A fogadó részére pedig csak egy ip-t és egy portot kell megadni.
Az alkalmazást Windows, Linux, Android-ra készíteném el.
Viszont ha jól tudom a legtöbb mobilinternet szolgáltatónál NAT-olt ip címet osztanak ki és nem jár publikus ip cím egy eszközre se ami nem lenne jó mert ha valaki mobilnettel szeretne fájlt küldeni nem tudna senki csatlakozni a szerverre.
Erre lehet találni valami megoldást?
Ez olyasmi lehet, mint pl. a Google Play, ahol mondjuk ha PC-n telepítek Android appot, és a telóm épp a WiFi hálózaton van, akkor már telepíti is.
Őszintén szólva nem értem, hogyan találja meg a telót a helyi hálón, de valószínűleg van egy saját protokollja hozzá. Kérdező, ha tudsz implementálni egy hasonló protokollt, akkor nem kell szerver sem.
"A telefon pedig szintén attól kap értesítést"
Épp ez a lényeg: Hogyan találja meg a telót ?? :)
..Hacsak úgy nem, hogy feltételezi, hogy a PC-vel közös hálózaton van, és a telón fut egy szolgáltatás a gugli saját protokolljához (mint egy ftp szerver, ami az ftp protokoll szerinti kéréseket szolgálja ki.)
A másik lehetőség, hogy amikor az Android bejelentkezik a Google-hoz, akkor megadja az IP címét. Még talán ez a legegyszerűbb. Ez esetben viszont tényleg kell szerver. :(
A két telefon között - ha nem egy belső, privát hálózatban vannak, és mind a két kapcsolat erősen NAT-olt (szóval nem tudsz portot nyitni, mert a szolgáltató saját eszköze/átjárója/tűzfala ezt nem engedi) - közvetlen, tisztán P2P kapcsolatot nem tudsz kialakítani.
Ehhez szükség van egy olyan - nem egy szigorú NAT mögött levő - "reléállomásra", ami a két NAT-olt fél között közvetít.
"Épp ez a lényeg: Hogyan találja meg a telót ?? :)"
A teló "jelentkezik be" a google szerverére.
IPV4-en NAT-olt IP-re kívülről nem fogsz tudni csatlakozni csak ha port forward van beállítva.
IPv6-on megy.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!