Írta: tom1964h
A számítógépek közötti kommunikáció
Hiperhivatkozások a Wikipedia körül
Nálatok van net? :-) Kell, hogy legyen, ha ezt az oldalt olvassátok ... Ez fontos kérdés, mert az interneten keresztül számos programot érek el, adatokat szerezhetek be, zenét hallgathatok vagy filmet nézhetek. Akár Java-programokat is használhatok, amelyek távoli számítógépen (kiszolgálón, azaz szerveren) futnak. De hogyan érem el az internetet? A lakásban és a munkahelyen a fali csatlakozónál (WiFi-ben) egy Internet-szolgaltato (ISP) teszi lehetővé a hozzáférést. Mobiltelefonomon pedig a telefon-társaság nyújtja ugyanezt.Hogyan kommunikálnak egymással a számítógépek? Többféle lehetőség van, pl.:
- közvetlenül Java socket-en keresztül: ez gépek közti kommunikáció (1:1 azaz peer-to-peer kapcsolatot enged)
- böngészőn keresztül: ez a program egy kaput nyit a külvilág felé (a háttérben ugyancsak egy server fut)
- lehet vegyesen is: pl. egy Android program és a laptop böngészője is ugyanazzal a szerverrel kommunikál
- a háttérben az adatok ugyanazok, csak a nézet réteg különbözik … Html lesz JAVA-FX helyett
Kommunikáció a serverrel
- a szerver megtalálásához szükséges a domain name, amit egy router “felold” és megadja a server ip-címét (pl. a sanfranciscoboljottem.com oldalhoz megadja a 185.199.108.153 számsort)
- később a böngésző kliens letárolja az IP-cim/URL feloldást (párosítást)
- a domain name-et meg lehet vásárolni, hogy más ne készítsen ugyanilyen eléréssel weblapot
- a saját oldalhoz szükséges file-okat egy olyan szerveren kell tárolni, amit minden gép elér
- saját szerver üzemeltetéshez fix, állandóra IP-cim kell, ami a szerver-szolgáltatással együtt vásárol meg az oldal tulajdonosa
A ping program
Teszteljük a kommunikációt! Erre egy nagyon egyszerű parancssori (CLI) programot használhatunk, a ping-et. Feladat:
1. Windowsban nyissunk egy parancssori ablakot vagy Linuxon egy új terminált
2. írjuk be a ping sanfranciscoboljottem.com parancsot
3. a ping megpingeli a hivatkozott szervert, miután feloldotta az IP-címét: requesteket küld neki
4. a válaszidőket pedig sorra kiírja, mennyi idő alatt ért vissza a szerver response
C:\>ping sanfranciscoboljottem.com
Pinging sanfranciscoboljottem.com [185.199.108.153] with 32 bytes of data:
Reply from 185.199.108.153: bytes=32 time=18ms TTL=56
Reply from 185.199.108.153: bytes=32 time=25ms TTL=56
Reply from 185.199.108.153: bytes=32 time=19ms TTL=56
Reply from 185.199.108.153: bytes=32 time=20ms TTL=56
Ping statistics for 185.199.108.153:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 25ms, Average = 20ms
A ping csomagokat (packet) küld és válasz-csomagokat kap vissza.
Kommunikációs protokoll
A számítógépes kommunikációra többféle szabványt dolgoztak ki és alkalmaznak. Az internet szempontjából lényeges TCP/IP protokoll-család két fontos szabványa az UDP és a TCP:
- UDP (user datagram protocol): pl. Skype, sportközvetítés, VOIP - ez gyorsabb, de csak áramlik az adat, mint a folyó (stream); ez megenged hibákat, ki-kihagy a Skype-beszélgetés ….
- TCP (transmission control protocol): pontosabb, de lassabb, mert van visszajelzés, ha nem érkezett meg egy csomag, akkor újraküldi; így történik a honlapok böngészése, mobilvásárlás
a kép forrása draw.io