Kezdőoldal » Számítástechnika » Programozás » Hogy lehetne csatlakozni egy...

Hogy lehetne csatlakozni egy eszközre ha NAT-olt ip címe van?

Figyelt kérdés

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?



2019. ápr. 24. 09:02
1 2
 11/15 anonim ***** válasza:
(Én azért megkockáztatom, hogy ha az IPv6 nem támogatott vagy le van tiltva, akkor is működni fog. Bár még nem ellenőriztem.)
2019. ápr. 26. 10:01
Hasznos számodra ez a válasz?
 12/15 anonim ***** válasza:

"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."

Ha random port szám, akkor a kliens azt honnan fogja tudni? Hogy fogja a szerver-port ismerete nélkül elérni a szervert?

Ha ezt megoldod, akkor a többi már épülhet egy sima TCP kapcsolatra.

2019. ápr. 26. 11:48
Hasznos számodra ez a válasz?
 13/15 anonim ***** válasza:
A probléma többek között ott van, hogy ki a szerver és ki a kliens. Ha egy eszköz kinevezheti magát szervernek, akkor a kliensek fognak hozzá csatlakozni, és ahhoz fog kelleni egy szerver IP cím és port szám. Szóval a kérdés, hogy a kliens hogyan fogja megtalálni a szervert, honnan tudja, hogy épp ki a szerver. A dinamikus IP valóban gond lehet (nem a NAT, a NAT-ot szépen kezelni fogja az IP réteg, a TCP-nek pedig csak egy port-szám kell még), de még ha fix IP-je van a szervernek, hogyan fogja azt tudatni a potenciális kliensekkel?
2019. ápr. 26. 12:12
Hasznos számodra ez a válasz?
 14/15 A kérdező kommentje:

Aki küldené a fájlt az lenne a szerver.

A random portot pedig feltüntetné a program felületén amit megadna a fogadó félnek az ip címével együtt, hogy csatlakozhasson a szerverre ami a fájlt fogja átküldeni.

De hiába fogja megadni az ip címét és a portját a küldő (szerver) fél ha natolt hálóban van és nem fog tudni rá csatlakozni.

2019. ápr. 26. 16:39
 15/15 anonim ***** válasza:

Felejtsd el a NAT-ot, nem az a gond.

"A random portot pedig feltüntetné a program felületén amit megadna a fogadó félnek az ip címével együtt,"

Mármint a szerver felületéről van szó? Vagy hol látszik a cím? És azt ki fogja látni?

Nem kell semmiféle IP-t megadni, ha egy TCP kapcsolatot fel tudsz építeni. A felhasználó amúgy se szöszöljön IP címekkel (ha jól értem). A kérdés: a kliens hogy találja meg az épp akkor létrejövő szervert a hálón? Nem tudom, milyen felületen akarod propagálni az IP címét, ahhoz is először azt meg kell tudni címezni.

Sajnos, ahogy fentebb írták, állandó szerver kell, ahova a küldő és a a fogadó is be tud jelentkezni. Utána már elvileg p2p kapcsolatot ki tudnak alakítani egymással, de addig egyik sem ismeri a másikat. Olyasmi, mint a torrent, ott is van egy (több) szerver, ahol megtalálják egymást a kliensek, utána a fájlcsere már direktben mehet. Valószínűleg a telón is a Google fiókkal először egy session jellegű kapcsolat jön létre, utána már mindenki ismer mindenkit.

2019. ápr. 26. 20:14
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!