Articles

mi az aljzat?

Sockets lehetővé teszi két különböző folyamat közötti kommunikációt ugyanazon vagy különböző gépeken. Pontosabban, ez egy módja annak, hogy beszéljen más számítógépekkel a szabványos Unix fájlleírókkal. Unix-ban minden I/O művelet fájlleíró írásával vagy olvasásával történik. A fájlleíró csak egy nyitott fájlhoz társított egész szám, amely lehet hálózati kapcsolat, szöveges fájl, terminál vagy valami más.

egy programozónak egy aljzat úgy néz ki és viselkedik, mint egy alacsony szintű fájlleíró. Ennek oka az, hogy az olyan parancsok, mint az olvasás () és az írás (), ugyanúgy működnek az aljzatokkal, mint a fájlokkal és a csövekkel.

a foglalatokat először 2.1 BSD-ben vezették be, majd a jelenlegi formájukba finomították 4.2 BSD-vel. A sockets funkció már elérhető a legtöbb jelenlegi UNIX rendszer kiadásokkal.

hol használják a foglalatot?

egy Unix foglalatot használnak egy kliens-szerver alkalmazás keretrendszerben. A szerver olyan folyamat, amely bizonyos funkciókat hajt végre az ügyfél kérésére. A legtöbb alkalmazás szintű protokollok, mint az FTP, SMTP, POP3, hogy használja a sockets létrehozni kapcsolatot az ügyfél és a szerver, majd az adatok cseréjére.

Socket típusok

négyféle aljzat áll a Felhasználók rendelkezésére. Az első kettőt leggyakrabban használják, az utolsó kettőt ritkán használják.

a folyamatok feltételezhetően csak az azonos típusú aljzatok között kommunikálnak, de nincs olyan korlátozás, amely megakadályozza a különböző típusú aljzatok közötti kommunikációt.

  • Stream aljzatok-a hálózati környezetben történő szállítás garantált. Ha a stream aljzaton keresztül három “A, B, C” elemet küld, akkor ugyanabban a sorrendben érkeznek − “A, B, C”. Ezek az aljzatok TCP (Transmission Control Protocol) protokollt használnak az adatátvitelhez. Ha a szállítás lehetetlen, a feladó hibajelzőt kap. Az adatrekordoknak nincs határa.

  • Datagram Sockets-a hálózati környezetben történő szállítás nem garantált. Ezek kapcsolat nélküli, mert nem kell, hogy egy nyitott kapcsolat, mint a Stream aljzatok-építesz egy csomagot a cél információt, majd küldje el. UDP-t használnak (felhasználói Datagram protokoll).

  • Raw aljzatok-ezek hozzáférést biztosítanak a felhasználók számára az alapul szolgáló kommunikációs protokollokhoz, amelyek támogatják a socket absztrakciókat. Ezek az aljzatok általában datagram-orientáltak, bár pontos jellemzőik a protokoll által biztosított interfésztől függenek. Nyers csatolók célja nem az általános felhasználói; ők már feltéve, elsősorban az érdeklődők számára a fejlődő új kommunikációs protokollok, vagy a hozzáférés a rejtélyes felszereltség meglévő jegyzőkönyv.

  • szekvenált Csomagcsatlakozók-hasonlóak a stream aljzathoz, azzal a kivétellel, hogy a rekordhatárok megmaradnak. Ez az interfész csak a hálózati rendszerek (ns) Socket absztrakciójának részeként érhető el, ami nagyon fontos a legsúlyosabb ns alkalmazásokban. Szekvenált-csomag aljzat lehetővé teszi a felhasználó számára, hogy manipulálják a Sorrend Csomag Jegyzőkönyv (SPP) vagy Internet Datagram Protocol (IDP) fejlécek egy csomag, vagy egy csoport csomagokat, akár írásban, egy prototípus fejléc, amit adatokat kell elküldeni, vagy megadásával alapértelmezett fejléc kell használni az összes kimenő adatokat, valamint lehetővé teszi a felhasználó számára, hogy megkapja a fejlécek a bejövő csomagokat.

mi a következő lépés?

a következő néhány fejezet célja, hogy erősítse az alapokat, és készítsen egy alapot, mielőtt írhat szerver és kliens programok segítségével socket. Ha közvetlenül szeretne ugrani, hogy hogyan kell írni egy kliens-szerver program, akkor megteheti, de ez nem ajánlott. Erősen ajánlott, hogy lépésről lépésre fejezze be ezeket a kezdeti néhány fejezetet, hogy elkészítse a bázist, mielőtt tovább folytatná a programozást.