Írta: tom1964h

A számítógépek közötti kommunikáció

Hiperhivatkozások

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:

  • 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 egy kapu a külvilág felé (a háttérben ugyancsak egy server fut)
  • lehet vegyesen is: 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
  • később a böngésző kliens letárolja az ip-cim/url feloldást
  • a domain name-et meg lehet vásárolni, a saját oldalhoz szükséges file-okat egy serveren 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

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. A kommunikáció szabványosított protokollokon keresztül történik:

  • 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