Saznajte mrežno programiranje s internetskim utičnicama

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


Internetske utičnice Uvod

“Internetske utičnice”, iako ih korisnici interneta uglavnom ne vide, okosnica su gotovo svih web aplikacija. Učinkovita uporaba mrežnih utičnica omogućuje poslužiteljskim aplikacijama da komuniciraju s klijentskim aplikacijama, poput web preglednika koji pristupa web stranici.

Svaka internetska utičnica može se definirati s nekoliko karakteristika, lokalnom adresom utičnice i protokolom. Jedan od najčešćih korištenih portova je TCP port 80, kroz koji se šalje HyperText Transfer Protocol (HTTP), koji omogućava pregledavanje web stranica..

Sedmostepeni OSI model

(Slojevi mrežnog luka)

Internetske utičnice mogu se koristiti i funkcionalno razumjeti bez razumijevanja svih koncepata umrežavanja računala. Međutim, čvrsto shvaćanje OSI modela sa sedam slojeva može pružiti malo konteksta za olakšavanje razumijevanja utičnica.

  • Sloj 1 – Fizički sloj – gdje bitni tok zapravo putuje kao struja, svjetlost ili radio kroz hardver mreže.
  • Sloj 2 – veza podataka – ovdje se šalju kodirani paketi podataka, a sloj Media Access Control (MAC) i Logical Link Control (LLC) određuje identifikaciju i sinkronizaciju..
  • 3. sloj – mrežni sloj – tu se odvija usmjeravanje i prebacivanje, postavljanje “virtualnih krugova” i guranje podataka iz čvora u čvor, rukovanje adresom i protokom paketa. Ovdje postoji vaša IP adresa.
  • Sloj 4- transportni sloj – ovo je transparentan protok podataka između bilo koja dva računala, koji obrađuje pogreške, oporavak podataka i upravlja razmjenom informacija. Tu postoje TCP i UDP. Ovdje se uklapaju web utičnice i HTTP!
  • Sloj 5 – Sloj sesije – ovo se odnosi na jedinstvenu vezu između aplikacija, koordiniranje razmjene i upravljanje tijekom procesa. Na primjer, web poslužitelj ili SQL poslužitelj ovdje mogu raditi.
  • Sloj 6 – Prezentacijski sloj – ovako se podaci oblikuju i prikazuju. Dakle, ovdje ćete naći šifriranje & vrste datoteka.
  • Layer 7 – Sloj aplikacije – Ovdje postoje kontrole kako bi korisnik mogao komunicirati sa svim slojevima ispod. Internetski preglednik ili FTP klijent naći će se na 7. stupnju.

Mrežna utičnica prvotno se pojavila kao dio “socket API-ja”, temeljenog na projektu Berkely Sockets ranih 1980-ih. Ovo je izvorno implementirano u C kao dio mrežnog sučelja za Unix operativni sustav.

Do 1989. godine Berkely Sockets Distribution (BSD) postao je open source i utjecao je na Microsoftov projekt Winsock. BSD API nastavio je utjecati na druge socket API-je i pomogao oblikovati komercijalni web kakav danas poznajemo.

Alternativna metoda slanja podataka

Postoji više načina za slanje podataka s internetske aplikacije. Internetske utičnice su samo jedan od načina, evo nekoliko drugih koji djeluju na različitim razinama mrežnog sustava.

Svako od njih ima svoje prednosti i mane, a vrijedi istražiti i ako učite o internetskim utičnicama:

  • Utičnice – internetska utičnica uspostavljena na TCP-u za pouzdan protok podataka.
  • datagrama – samostalna poruka poslana preko UDP-a koja nema “zajamčenu” isporuku do odredišta.
  • RESTful pozivi – REST znači prijenos države u reprezentaciji, a učinkovito je proširenje HTTP-a za enkapsuliranu komunikaciju.
  • SAPUN – slično kao i ostalo, to je usluga za razmjenu poruka za prosljeđivanje HTTP i markup datoteka.

Svaka opcija ima različit način da se provede. REST je prilično uobičajen za web obrasce, dok se strujna utičnica preferira za komunikaciju u stvarnom vremenu ili bilo kakav sadržaj struje.

Mjesta za početak

Za rad s web utičnicama općenito je potrebno osnovno znanje programiranja prije nego što započnete. Jezik koji upotrebljavate nije bitan, jer će svaki glavni jezik imati neku implementaciju socket API-ja za ovu vrstu komunikacije..

Možda bi najbolje bilo prvo upoznati se s temeljnim konceptima.

  • Računalne mrežne utičnice – Predavanje o računalnim sveučilištima u Washingtonu
  • Beejev vodič za mrežno programiranje pomoću internetskih utičnica – besplatna e-knjiga
  • Cisco Video o razlici između utičnica & Web Portovi
  • TCP / IP utičnice u C: Praktični vodič za programere – Prezentacija Sveučilišta Baylor.

Online tečajevi

Ponekad nekoliko korisnih veza jednostavno nije dovoljno. Da biste dobili jako dobro u korištenju web utičnica i kontrolirali ih na dubokoj razini za upravljačke mreže, možda bi bilo praktičnije pohađati tečaj.

  • Coursera – Sveučilište u Washingtonu – Računalne mreže
  • Udemy – TCP / IP utičnica programiranje u C # .NET za kodre & studenti
  • Lynda.com – Početak rada s web utičnicama.

Knjižnice prema programskom jeziku

Ako već imate željeni jezik, najbolje mjesto za početak s web utičnicama može biti korištenje knjižnica i izvora dostupnih unutar domene u kojoj vam je već ugodno.

Evo razdvajanja resursa i primjera prema programskom jeziku.

Web utičnice s JavaScript-om

  • Socket.io – knjižnica za NodeJS
  • Websocket NodeJS modul
  • Sock.JS github library.

Web utičnice s Java

  • Java EE 7: Izrada web aplikacija s WebSocketom, JavaScriptom i HTML5
  • Apache Tomcat 7 – Objašnjenje implementacije web socket-a Apache Webserver
  • NetBeans IDE – objašnjenje korištenja Java WebSocket API-ja .

Web utičnice C / C++

  • WebSocket ++ knjižnica Zaphoyda
  • C ++ Winsock Websocket Server
  • WebToolkit (Wt) C ++ Početna stranica
  • Qt Web Sockets Wiki.

Web utičnice u C # & .NETO

  • WebSocket klasa u .NET okviru
  • Websocket-Sharp Open Source knjižnica.

Web utičnice u Pythonu

  • Programiranje utičnica u Pythonu od strane IBM developerWorks
  • Programiranje utičnica HOWTO na Python.org
  • Mrežno programiranje Pythona – TutorialsPoint.

Web utičnice u Rubyju

  • Stranica knjižnice Socket Class na ruby-doc.org
  • Uvod u utičnicu na stranici PracticingRuby Github
  • IBM DeveloperWorks PDF na paketima u Rubyju.

P &

P. Kakva je razlika između web porta i internetske utičnice?

. To može biti prilično tehnički odgovor, ali na površini – web utičnica je krajnja točka TCP veze dok je priključak “virtualizacijski identifikator” i ne smatra se dijelom mreže, osim ako nije priključena IP adresa da bi se pretvorila u web port.

U „običnom engleskom jeziku“ „priključak“ je numerirana adresa koja se nalazi na određenom uređaju, dok je „utičnica“ vezana za aplikacije u komunikaciji. Bez aplikacije nema “utičnice”.

P: Kada trebam upotrijebiti RESTful pozive u odnosu na web utičnice?

. Obično su RESTful pozivi korisniji za manje podatke, recimo kao web obrazac koji pokreće događaj klikom. Web utičnice zahtijevaju postavljanje “stiskanja ruku” kako bi se omogućilo strujanje podataka putem veze.

Ovo je općenito najbolje za strujanje velikih datoteka poput internetskog videozapisa ili za komunikaciju u stvarnom vremenu.

P. Svi ovi pojmovi zvuče mi nadrealno i teško, trebam li započeti negdje drugdje?

. Sve ovisi o vama! Vjerojatno biste trebali upoznati barem jedan programski jezik prije nego što pokušate koristiti web utičnice, ali uvijek možete pronaći dobrog instruktora ili projekta u kojem morate naučiti i jezik i utičnice dok idete.

Budite strpljivi i budite optimistični, web utičnice mogu biti naporne, ali vrlo korisne!

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