Lär dig nätverksprogrammering med internetuttag

Avslöjande: Ditt stöd hjälper till att hålla webbplatsen igång! Vi tjänar en remissavgift för några av de tjänster vi rekommenderar på denna sida.


Introduktion till internetuttag

”Internetuttag”, även om de i allmänhet är osynliga av internetanvändare, är ryggraden i nästan alla webbapplikationer. Den effektiva användningen av nätverksuttag tillåter serverapplikationer att kommunicera med klientapplikationer, till exempel en webbläsare som öppnar en webbsida.

Varje internetuttag kan definieras av några få egenskaper, en lokal socketadress och ett protokoll. En av de vanligaste portarna som används är TCP-port 80, genom vilken HyperText Transfer Protocol (HTTP) skickas, vilket tillåter webbsökning.

Sju-lager OSI-modell

(Lager av nätverkslök)

Internetuttag kan användas och funktionellt förstås utan att ta tag i alla begreppen datornätverk. Emellertid kan ett fast grepp om sju-lager OSI-modellen ge lite kontext för att göra förståelsen av uttag lite lättare.

  • Skikt 1 – Det fysiska lagret – där bitströmmen faktiskt reser som el, ljus eller radio genom hårdvaran i ett nätverk.
  • Skikt 2 – Datalänk – kodade datapaket skickas hit, med lagret Media Access Control (MAC) och Logical Link Control (LLC) som bestämmer identitet respektive synkronisering.
  • Layer 3 – Network Layer – det är här som routing och omkoppling äger rum, ställer in “virtuella kretsar” och driver data från nod till nod, hanterar adressering och paketflöde. Det är här din IP-adress finns.
  • Lager 4 – Transportlager – Detta är ett transparent flöde av data mellan två värdar, som hanterar fel, dataåterhämtning och hanterar informationsutbyte. Det är här TCP och UDP finns. Webbuttag och HTTP passar alla in här!
  • Layer 5 – Session Layer – detta avser en enda koppling mellan applikationer, samordning av utbyten och hantering av processflöde. Till exempel kan en webbserver eller SQL-server vara på jobbet här.
  • Skikt 6 – Presentationslager – det är så informationen formateras och representeras. Så här hittar du kryptering & filtyper.
  • Layer 7 – Application Layer – Det är här kontrollerna finns för användaren att interagera med alla lager under. En webbläsare eller FTP-klient kan hittas i lager 7.

Nätverkskontakten uppstod ursprungligen som en del av ett “socket API”, baserat på Berkely Sockets-projektet i början av 1980-talet. Detta implementerades ursprungligen i C som en del av nätverksgränssnittet för Unix operativsystem.

År 1989 blev Berkely Sockets Distribution (BSD) öppen källkod och påverkade Microsoft-projektet Winsock. BSD API fortsatte att påverka andra socket API och hjälpte till att forma den kommersiella webben som vi känner den idag.

Alternativa metoder för att skicka data

Det finns mer än ett sätt att skicka data från en internetapplikation. Internetuttag är bara ett sätt, här är några andra som fungerar på olika nivåer i nätverkssystemet.

Var och en av dessa har sina egna fördelar och nackdelar och är värt att undersöka om du lär dig om internetuttag:

  • Socket Streams – en internetuttaganslutning implementerad på TCP för pålitligt dataflöde.
  • Datagram – ett fristående meddelande som skickas över UDP som inte har ”garanterad” leverans till destinationen.
  • RESTful Samtal – REST betyder Representativ statlig överföring och är i själva verket en förlängning av HTTP för inkapslad kommunikation.
  • TVÅL – I likhet med vila är det en meddelandetjänst för att skicka HTTP- och markeringsfiler.

Varje alternativ har ett annat sätt att implementera det. REST är ganska standard för webbformulär, medan socketströmning föredras för realtidskommunikation eller allt strömningsinnehåll.

Platser att komma igång

Att arbeta med nätuttag kräver generellt en grundläggande kunskap om programmering innan du börjar. Det språk som du använder spelar dock ingen roll, eftersom varje större språk kommer att ha någon implementering av ett socket-API för denna typ av kommunikation.

Det bästa man kan göra först är att bli bekant med kärnbegreppen.

  • Computer Network Sockets – University of Washington Computer Science Lecture
  • Beejs guide till nätverksprogrammering med Internet-uttag – gratis e-bok
  • Cisco Video om skillnaden mellan uttag & Webbportar
  • TCP / IP-uttag i C: Praktisk guide för programmerare – Baylor University Presentation.

Online-kurser

Ibland är några användbara länkar bara inte tillräckligt bra. För att bli riktigt bra på att använda webbuttag och kontrollera dem på en djup nivå för styrningsnätverk, kan det vara mer praktiskt att ta en kurs.

  • Coursera – University of Washington – Datornätverk
  • Udemy – TCP / IP-sockelprogrammering i C # .NET för kodare & studenter
  • Lynda.com – Komma igång med nätuttag.

Bibliotek genom programmeringsspråk

Om du redan har ett föredraget språk kan det bästa stället att börja med webbuttag vara att använda bibliotek och resurser tillgängliga inom domänen där du redan är bekväm.

Här är en separering av resurser och exempel genom programmeringsspråk.

Webbuttag med JavaScript

  • Socket.io – bibliotek för NodeJS
  • Websocket NodeJS-modul
  • Sock.JS github-bibliotek.

Webbuttag med Java

  • Java EE 7: Bygga webbapplikationer med WebSocket, JavaScript och HTML5
  • Apache Tomcat 7 – Förklaring av implementering av web socket av Apache webbserver
  • NetBeans IDE – förklaring till att använda Java WebSocket API .

Webbuttag i C / C++

  • WebSocket ++ Library av Zaphoyd
  • C ++ Winsock Websocket Server
  • WebToolkit (Wt) C ++ Hemsida
  • Qt Web Sockets Wiki.

Nätuttag i C # & .NETTO

  • WebSocket Class i. NET-ramverk
  • Websocket-Sharp Open Source Library.

Webbuttag i Python

  • Sockets Programmering i Python av IBM DeveloperWorks
  • Socket-programmering HOWTO på Python.org
  • Python Network Programming – TutorialsPoint.

Webbuttag i Ruby

  • Socket Class-biblioteksidan på ruby-doc.org
  • Socket Introduktion på PractisingRuby Github-sida
  • IBM DeveloperWorks PDF på paket i Ruby.

Q & EN

Fråga: Vad är skillnaden mellan en webbport och ett internetuttag?

EN. Detta kan vara ganska tekniskt svar, men på ytan – ett webbuttag är en TCP-anslutningspunkt medan en port är “virtualiseringsidentifierare” och inte betraktas som en del av nätverket om det inte finns en IP-adress kopplad för att göra den till en webbport.

På “Vanligt engelska” är en “port” en numrerad adress som finns på en viss enhet, medan en “socket” är knuten till applikationerna i kommunikation. Utan en applikation finns det inget “uttag.”

Fråga: När ska jag använda RESTful samtal kontra webbsocklar?

EN. Vanligtvis är RESTful samtal mer användbara för mindre data, till exempel som ett webbformulär som aktiveras av en klickhändelse. Webbuttag kräver att man ställer in en ”handskakning” för att tillåta strömning av data via en anslutning.

Detta är i allmänhet bäst för strömning av stora filer som onlinevideo eller för realtidskommunikation.

F. Alla dessa begrepp låter surrealistiskt och svårt för mig om jag börjar någon annanstans?

EN. Det är helt upp till dig! Du borde förmodligen känna till minst ett programmeringsspråk innan du försöker använda webbuttag, men du kan alltid hitta en bra instruktör eller projekt där du får lära dig både språket och uttagen när du går.

Bara vara tålamod och håll dig optimistisk, webbuttag kan vara knepiga men är mycket användbara!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me