Ismerje meg a hálózati programozást internetes aljzatokkal

Közzététel: Támogatása segít fenntartani a webhely működését! Az ezen az oldalon javasolt szolgáltatások némelyikén referenciadíjat keresünk.


Internet aljzatok bevezetése

Az „internetes aljzatok”, bár az internetes felhasználók által általában nem láthatók, szinte valamennyi webes alkalmazás gerincét képezik. A hálózati aljzatok hatékony használata lehetővé teszi a szerver alkalmazások számára, hogy kommunikációt folytassanak az ügyfélalkalmazásokkal, például egy webböngészővel, amely elér egy weboldalt.

Minden internetes aljzat néhány jellemzővel, a helyi aljzat címével és a protokollal meghatározható. Az egyik leggyakrabban használt port a TCP 80-as port, amelyen keresztül a HyperText Transfer Protocol (HTTP) küldésre kerül, lehetővé téve az internetes böngészést.

Hétrétegű OSI modell

(A hálózati hagyma rétegei)

Az internetes aljzatok felhasználhatók és funkcionálisan megérthetők anélkül, hogy megragadnánk a számítógépes hálózat összes fogalmát. A hétrétegű OSI-modell szilárd megértése azonban egy kis kontextust nyújthat a foglalatok megértésének kissé megkönnyítéséhez.

  • 1. réteg – A fizikai réteg – ahol a bitfolyam ténylegesen áramként, fényként vagy rádióként halad keresztül egy hálózat hardverén keresztül.
  • 2. réteg – adatkapcsolat – kódolt adatcsomagokat küldünk ide, a Media Access Control (MAC) és a Logical Link Control (LLC) réteggel meghatározva az azonosítást és a szinkronizálást.
  • 3. réteg – A hálózati réteg – itt történik az útválasztás és a váltás, a „virtuális áramkörök” beállítása és az adatok csomópontról csomópontra történő továbbítása, a címzés és a csomagáramlás kezelése. Itt létezik IP-címed.
  • 4. réteg – szállítási réteg – ez egy átlátható adatfolyam bármely két gazdagép között, amely kezeli a hibákat, az adatok helyreállítását és kezeli az információcserét. Itt léteznek TCP és UDP. A web aljzatok és a HTTP mind ide illenek!
  • 5. réteg – Munkamenet-réteg – ez vonatkozik az alkalmazások közötti egyetlen kapcsolatra, a cserék koordinálására és a folyamatáram irányítására. Lehet, hogy itt működik például egy webszerver vagy SQL szerver.
  • 6. réteg – prezentációs réteg – így formázhatók és ábrázolhatók az adatok. Tehát itt talál titkosítást & fájl típusok.
  • 7. réteg – Alkalmazási réteg – Itt állnak rendelkezésre a kezelőszervek, amelyek segítségével a felhasználó interakcióba léphet az összes alatti réteggel. A 7. rétegben egy böngésző vagy FTP-kliens található.

A hálózati aljzat eredetileg egy „socket API” részeként alakult ki, amely a Berkely Sockets projekt alapját képezi az 1980-as évek elején. Ezt eredetileg a C-ben valósították meg a Unix operációs rendszer hálózati felületének részeként.

1989-re a Berkely Sockets Distribution (BSD) nyílt forrásúvá vált, és befolyásolta a Microsoft Winsock projektet. A BSD API tovább befolyásolta a többi socket API-t, és hozzájárult a kereskedelmi web alakításához, ahogyan azt ma ismerjük.

Alternatív módszerek adatküldésre

Az adatok egy internetes alkalmazásból történő küldésének több módja is van. Az internetes aljzatok csak egy út, íme néhány, amelyek a hálózati rendszer különböző szintjein működnek.

Mindegyiknek megvannak a maga előnyei és hátrányai, és érdemes kutatni, ha az internetes aljzatokról van szó:

  • Csatlakozó áramok – a TCP-n megvalósított internetes aljzat-kapcsolat a megbízható adatáramlás érdekében.
  • Datagrams – egy önálló üzenet, amelyet az UDP-n keresztül küldenek, amely nem garantáltan kézbesíti a rendeltetési helyet.
  • RESTful hívások – A REST reprezentatív állapotátadást jelent, és gyakorlatilag a HTTP kiterjesztése a beágyazott kommunikációhoz.
  • SZAPPAN – hasonlóan a többihez, ez egy üzenetküldő szolgáltatás HTTP és jelölő fájlok továbbítására.

Mindegyik lehetőségnek más módon van megvalósítása. A REST meglehetősen szokásos webes űrlapokon, míg a socket streaming a valós idejű kommunikáció vagy bármilyen streaming tartalom esetén előnyös.

Helyek az induláshoz

A web-aljzatokkal történő munkavégzéshez általában meg kell adni a programozás alapvető ismereteit az indulás előtt. Az a nyelv, amelyet használsz, igazán nem számít, mivel minden nagyobb nyelvnek lesz valamilyen socket API-ja az ilyen típusú kommunikációhoz.

A talán a legjobb dolog az első, ha megismerjük a fő fogalmakat.

  • Számítógépes hálózati aljzatok – a Washingtoni Egyetem számítástechnikai előadása
  • Beej Útmutató a hálózati programozáshoz az internetes aljzatok használatával – ingyenes e-könyv
  • Cisco videó az aljzatok közötti különbségről & Web portok
  • TCP / IP foglalatok a C-ben: Gyakorlati útmutató programozók számára – Baylor University bemutatása.

Online tanfolyamok

Néha néhány hasznos link nem elég jó. Ahhoz, hogy igazán jól tudjon használni az internetes aljzatokat, és ezeket mélyen ellenőrizze a hálózatok irányításához, célszerűbb lehet tanfolyamot venni..

  • Coursera – Washingtoni Egyetem – Számítógépes hálózatok
  • Udemy – TCP / IP Socket programozás a C # .NET kódolókban & diákok
  • Lynda.com – Kezdeti lépések a webes aljzatokkal.

Könyvtárak programozási nyelv szerint

Ha már van egy preferált nyelve, akkor a webhelyekkel való kezdéshez a legjobb hely lehet a könyvtár és a rendelkezésre álló erőforrások használata a domainen belül, ahol Ön már jól érzi magát..

Itt található az erőforrások és a példák elválasztása a programozási nyelv alapján.

Internetes aljzatok JavaScript-sel

  • Socket.io – NodeJS könyvtár
  • Websocket NodeJS modul
  • Sock.JS github könyvtár.

Internetes aljzatok Java-val

  • Java EE 7: Webes alkalmazások készítése WebSocket, JavaScript és HTML5 segítségével
  • Apache Tomcat 7 – Az Apache Webserver webalkalmazásának megvalósításának magyarázata
  • NetBeans IDE – magyarázat a Java WebSocket API használatáról .

Web aljzatok C / C-ben++

  • Zaphoyd WebSocket ++ könyvtára
  • C ++ Winsock Websocket Server
  • WebToolkit (Wt) C ++ honlap
  • Qt Web Sockets Wiki.

Web aljzatok a C # -ben & .HÁLÓ

  • WebSocket osztály .NET-keretrendszerben
  • Websocket-Sharp nyílt forráskódú könyvtár.

Internetes aljzatok a Pythonban

  • Sockets programozás Pythonban, az IBM developerWorks által
  • Socket Programming HOGYAN a Python.org oldalon
  • Python hálózati programozás – TutorialsPoint.

Internetes aljzatok a Ruby-ban

  • Socket Class könyvtár oldal a ruby-doc.org oldalon
  • Socket bemutatása a PracticingRuby Github oldalon
  • Az IBM DeveloperWorks PDF a csomagokban, a Ruby-ban.

Q & A

K. Mi a különbség a web port és az internetes aljzat között?

A. Ez nagyon technikai válasz lehet, de a felszínen: a webaljzat TCP-kapcsolat végpontja, míg a port „virtualizációs azonosító”, és csak akkor tekinthető a hálózat részének, hacsak nincs IP-cím csatolva, hogy webporttá alakítsuk..

A „egyszerű angol” nyelven a „port” egy adott eszközön található számozott cím, míg a „aljzat” a kommunikációban lévő alkalmazásokhoz van kötve. Alkalmazás nélkül nincs „aljzat”.

Kérdés: Mikor kellene használnom a RESTful hívásokat a webes aljzatokhoz képest?

A. Általában a RESTful hívások kisebb adatokon hasznosak, például egy webes űrlapon, amelyet egy kattintási esemény vált ki. A hálózati aljzatoknak „kézfogás” beállítását kell elvégezniük, hogy adatátvitelt lehessen biztosítani egy kapcsolaton keresztül.

Ez általában a legjobb nagy fájlok, például online video streaming vagy valós idejű kommunikáció esetén.

K. Mindezek a fogalmak szürreálisnak és nekem nehéznek tűnnek, ha valahol máshol kezdném?

A. Ez teljesen rajtad múlik! Valószínűleg ismernie kell legalább egy programozási nyelvet, mielőtt megpróbálná használni a web foglalatokat, de mindig talál jó oktatót vagy projektet, ahol megtanulhatja mind a nyelvet, mind a foglalatokat..

Csak légy türelmes és maradjon optimista, az internetes aljzatok trükkösek, de nagyon hasznosak!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map