Socket Programazioa Orokorra Informatika Sareetarako

Socket ordenagailu sareen programazioko teknologia funtsezkoenetakoa da. Socketek sare-softwarearen aplikazioak sare hardware eta sistema eragileetan integratutako mekanismo estandarrak erabiliz komunikatzeko aukera ematen dute.

Softwarearen garapenaren beste ezaugarri bat bezalakoa izan litekeen arren, sarbide-teknologiak Webgunea baino askoz luzeagoak izan dira. Eta, gaur egungo sareko software aplikazio askok gaur egungo sarbideetan oinarritzen dira.

Zein zutabeek zure sarean egin dezaket?

Socket batek bi software zuzendu behar dituen konexio bakar bat adierazten du ( puntutik punturako konexio deitzen dena). Bi software pieza baino gehiago bezero / zerbitzari edo banatutako sistemekin komunikatu daiteke hainbat entxufe erabiliz. Adibidez, web-arakatzaile askok aldi berean web zerbitzari bakarrarekin komunikatu ditzakete zerbitzarian socket-multzo baten bidez.

Socket-en oinarritutako softwarea normalean sarean bi ordenagailu desberdinetan exekutatzen da, baina konektoreak lokalean ( interprozesua ) ordenagailu bakarrean komunikatzeko ere erabil daiteke. Socketek bi noranzkokoak dira, konexioaren bi aldeek bai datuak bidaltzeko eta jasotzeko gai izan daitezen. Batzuetan, komunikazioa abiarazten duen aplikazioa "bezero" eta "zerbitzaria" beste aplikazio batzuen artean deitzen da, baina terminologia hori nahasgarria da peer eta peer sarean, eta, oro har, saihestu behar da.

Socket APIak eta Liburutegiak

Aplikazio aplikazioen programazio interfaze estandarrak (API) inplementatzen dituzten liburutegiak Interneten daude. Lehenbiziko pakete nagusia - Berkeley Socket Liburutegia oso erabilia da UNIX sistemetan. API oso ohikoa Microsoft-en sistema eragileentzako Windows Sockets (WinSock) liburutegia da. Beste ordenagailu teknologiei dagokienez, socket-ak APIak nahiko helduak dira: WinSock-ek 1993tik eta Berkeley-ko entxufeak erabiltzen ditu 1982tik.

Socket APIak nahiko txikiak eta sinpleak dira. Funtzio askok fitxategi sarrerako / irteerako errutinak erabiltzen dituztenak antzekoak dira: read () , write () eta close () . Egindako funtzio funtzionalak programazio-lengoaiaren eta hautatutako socket-liburuen araberakoak dira.

Socket interfazearen motak

Socket interfazeak hiru kategoriatan banatu daitezke:

  • Fluxu- entxufeak, ohikoenak, bi komunikabideek lehenbailehen socket-konexioa ezartzen dute, eta horregatik, konexio horretatik pasatzen diren datu guztiek bermatuko dute jasotako ordena berera iristeko, konexio-bideratutako programazio deiturikoak eredua.
  • Datagram entxufeak eskaintzen dute "konexio gutxiago" semantika. Datagrama batzuekin, konexioak inplizituagoak dira, korronteak bezala esplizitua baino. Bi alderdiek datagramak behar bezala bidaltzen dituzte eta gainerakoak erantzuten die; Mezuak transmisioan galdu daitezke edo eskaera jaso ezean, baina eskaera horren erantzukizuna da eta ez arazo horiei aurre egiteko sockets. Datagramaren entxufeak ezartzeko, zenbait aplikazio eman ditzakete korronte-entxufeak erabiltzean errendimendu areagotzea eta malgutasun gehigarria, egoera batzuetan erabiltzea justifikatzen dutelako.
  • Socket hirugarren motak: socket gordinak , liburutegian oinarritutako protokolo estandarrak onartzen ditu, TCP eta UDP bezalakoak. Tonu gordinak maila baxuko protokolo garapen pertsonalizatuetarako erabiltzen dira.

Socket Support in Network Protocols

Sareko socket modernoek normalean Internet protokoloekin erabiltzen dira: IP, TCP eta UDP. Interneteko protokoloak socketsak egiteko Liburutegiak erabili TCP erreka egiteko, UDP datagrametarako, eta IP bera gordinak konektatzeko.

Internet bidez komunikatzeko, IP socket liburutegiek IP helbidea erabiltzen dute ordenagailu zehatzak identifikatzeko. Interneten zati askok izendatzen dituzten zerbitzuei eragiten die, erabiltzaileek eta socket-ak programatzaileek ordenagailuekin izenez ( adibidez , "thiscomputer.wireless.about.com") lan egin dezakete ordez ( adibidez , 208.185.127.40). Stream eta datagrama-entxufeak IP ataka zenbakiak ere erabiltzen dituzte elkarren artean aplikazio ugari bereizteko. Adibidez, Interneten nabigatzaileek badakite 80 ataka erabiltzen dutela web zerbitzarietarako socket komunikazioetarako lehenetsi gisa.