Një Përmbledhje e Socket Programming për Computer Networking

Një socket është një nga teknologjitë më themelore të programimit të rrjetit kompjuterik. Socket lejojnë aplikacionet e softuerit të rrjetit të komunikojnë duke përdorur mekanizmat standardë të ndërtuar në harduerin e rrjetit dhe sistemet operative.

Megjithëse mund të tingëllojë si një veçori tjetër e zhvillimit të softuerit në Internet, teknologjia e socket ekzistonte shumë kohë para Web. Dhe, shumë nga aplikacionet më të njohura të softuerit të rrjetit të sotëm mbështeten në bazat.

Çfarë Socket mund të bëjë për rrjetin tuaj

Një socket paraqet një lidhje të vetme mes pikërisht dy software-eve (një lidhje e ashtuquajtur pikë-to-pikë ). Më shumë se dy pjesë të softuerit mund të komunikojnë me klientin / serverin ose sistemet e shpërndara duke përdorur bazat e shumta. Për shembull, shumë shfletues Web mund të komunikojnë në të njëjtën kohë me një server të vetëm në Web nëpërmjet një grupi të bazave të bëra në server.

Softueri me bazë Socket zakonisht shkon në dy kompjuterë të veçantë në rrjet, por bazat gjithashtu mund të përdoren për të komunikuar në vend ( ndërproces ) në një kompjuter të vetëm. Çiftet janë dy drejtim , që do të thotë se të dyja anët e lidhjes janë të afta për dërgimin dhe pranimin e të dhënave. Ndonjëherë një aplikacion që inicion komunikimin quhet "klienti" dhe aplikacionin tjetër "server", por kjo terminologji çon në konfuzion në rrjetin e kolegëve dhe në përgjithësi duhet të shmanget.

Socket API dhe Bibliotekat

Disa biblioteka që zbatojnë interfaces standarde të programimit të aplikimit (API) ekzistojnë në internet. Paketa e parë e zakonshme - Biblioteka e Berkeley Socket është ende gjerësisht në përdorim në sistemet UNIX. Një tjetër API shumë e zakonshme është biblioteka e Windows Sockets (WinSock) për sistemet operative të Microsoft. Në lidhje me teknologjitë e tjera kompjuterike, socket APIs janë mjaft të pjekur: WinSock ka qenë në përdorim që nga viti 1993 dhe bazat e Berkeley që nga viti 1982.

TV socket janë relativisht të vogla dhe të thjeshta. Shumë prej funksioneve janë të ngjashme me ato të përdorura në rutinat e hyrjes / daljes së skedarëve si read () , shkruaj () , dhe . Funksioni aktual i thirrjes për përdorim varet nga gjuha programuese dhe biblioteka e socket zgjedhur.

Llojet e Ndërfaqes Socket

Ndërfaqet Socket mund të ndahen në tri kategori:

  • Rrjetat e rrymës , lloji më i zakonshëm, kërkon që të dy palët komunikuese të krijojnë së pari një lidhje socket, pas së cilës çdo të dhënë që kalon përmes asaj lidhje do të garantohet të arrijë në të njëjtën mënyrë në të cilën është dërguar - të ashtuquajturat programimi i orientuar nga kyçje model.
  • Bazat e datagrameve ofrojnë semantikë "pa lidhje". Me datagramet, lidhjet janë të nënkuptuara dhe jo eksplicite si me rrjedhat. Secila palë thjesht dërgon datagramë sipas nevojës dhe pret që tjetra të përgjigjet; mesazhet mund të humbasin në transmetim ose të marrë nga rendi, por është përgjegjësia e aplikimit dhe jo bazat për t'u marrë me këto probleme. Zbatimi i bazave të datagrameve mund t'u japë disa aplikacioneve një ngritje të performancës dhe një fleksibilitet shtesë krahasuar me përdorimin e bazave të transmetimit, duke justifikuar përdorimin e tyre në disa situata.
  • Tipi i tretë i socket - foleja e para - anashkalon mbështetjen e integruar të bibliotekës për protokollet standarde si TCP dhe UDP . Pritjet e para përdoren për zhvillimin e protokollit të nivelit të ulët të nivelit.

Mbështetje Socket në Protokollet e Rrjetit

Rrjetet moderne të rrjetit zakonisht përdoren në lidhje me protokollet e internetit - IP, TCP dhe UDP. Bibliotekat që zbatojnë bazat për Protokollin e Internetit përdorin TCP për transmetimet, UDP për datagramat dhe vetë IP për bazat e papërpunuara.

Për të komunikuar nëpërmjet internetit, bibliotekat e folesë IP përdorin adresën IP për të identifikuar kompjuterë të veçantë. Shumë pjesë të internetit punojnë me emërtimin e shërbimeve, në mënyrë që përdoruesit dhe programuesit e socket mund të punojnë me kompjuterë me emër ( p.sh. "thiscomputer.wireless.about.com") në vend të adresës ( p.sh. , 208.185.127.40). Baste për transmetim dhe datagram gjithashtu përdorin numrat e porteve IP për të dalluar aplikacione të shumta nga njëri-tjetri. Për shembull, shfletuesit e Internetit në Internet e dinë të përdorin portin 80 si parazgjedhje për komunikimet me socket me serverat Web.