Yleiskatsaus tietokoneen verkkoasennuksen ohjelmointiin

Pistorasia on yksi tietokoneverkon ohjelmoinnin perustavanlaatuisista tekniikoista. Liitännät mahdollistavat verkko-ohjelmistosovellusten kommunikoinnin vakiomekanismeilla, jotka on rakennettu verkkolaitteisiin ja käyttöjärjestelmiin.

Vaikka se saattaisi kuulostaa vain Internet-ohjelmistokehityksen ominaisuuksilta, socket-tekniikka oli olemassa jo kauan ennen verkkoa. Ja monet nykypäivän suosituimmista verkko-ohjelmistosovelluksista perustuvat pistorasioihin.

Mitä verkkoliitännät voivat tehdä verkossa

Pistorasia edustaa yhtä yhteyden täsmälleen kahden ohjelmiston välillä (ns. Piste-piste- yhteys). Yli kaksi ohjelmistoa voi kommunikoida asiakkaan / palvelimen tai hajautettujen järjestelmien kanssa käyttämällä useita liitäntöjä. Esimerkiksi monet Web-selaimet voivat samanaikaisesti kommunikoida yhden yksittäisen Web-palvelimen kautta palvelimella tehtyjen pistorasioiden ryhmien kautta.

Socket-pohjainen ohjelmisto toimii yleensä kahdella erillisellä tietokoneella verkossa, mutta pistorasioita voidaan käyttää myös paikallisesti ( interprocess ) kommunikointiin yhdelle tietokoneelle. Liitännät ovat kaksisuuntaisia , mikä tarkoittaa, että yhteyden molemmat puolet pystyvät sekä lähettämään että vastaanottamaan tietoja. Joskus yksi sovellus, joka aloittaa viestinnän, kutsutaan "asiakkaaksi" ja muuksi sovellukseksi "palvelimelle", mutta tämä terminologia johtaa sekaannukseen vertaistason verkottumisessa ja sitä tulisi yleensä välttää.

Socket API: t ja kirjastot

Internetissä on useita kirjastoja, jotka toteuttavat vakiosovellusohjelmointirajapintoja (API) . Ensimmäinen valtavirran paketti - Berkeley Socket Library on yhä laajalti käytössä UNIX-järjestelmissä. Toinen erittäin yleinen API on Microsoftin käyttöjärjestelmien Windows Sockets (WinSock) -kirjasto. Muihin tietotekniikkaan verrattuna socket-sovellusliittymät ovat varsin kypsät: WinSock on ollut käytössä vuodesta 1993 ja Berkeley-liittimet vuodesta 1982 lähtien.

Pistorasian sovellusliittymät ovat suhteellisen pieniä ja yksinkertaisia. Monet toiminnot ovat samanlaisia ​​kuin tiedostojen syöttö / lähdön rutiinit kuten read () , write () ja close () . Käytössä olevat toiminnot riippuvat valitusta ohjelmointikielestä ja socket-kirjastosta.

Socket Liitännätyypit

Socket-liitännät voidaan jakaa kolmeen luokkaan:

  • Virtapistokkeet, yleisimmät tyypit, edellyttävät, että nämä kaksi kommunikoivaa osapuolta muodostavat ensin pistorasiayhteyden, jonka jälkeen kaikki tämän yhteyden kautta kulkevat tiedot saavat saapua samaan järjestykseen, jossa se lähetettiin - ns. Yhteyslähtöistä ohjelmointia malli.
  • Datagrammien liitännät tarjoavat "yhteydettömän" semantiikan. Datagrammeilla yhteydet ovat implisiittisiä pikemminkin kuin eksplisiittisiä kuten virtojen kanssa. Joko osapuoli lähettää vain datagrammeja ja odottaa toista vastaamasta; viestit voivat kadota lähetyksessä tai vastaanottaa epäkunnossa, mutta sovellus on vastuussa eikä ongelmia näiden ongelmien käsittelemiseksi. Datagramiputkien toteuttaminen voi antaa joillekin sovelluksille suorituskyvyn ja joustavuuden verrattuna purojen käyttämiseen, mikä oikeuttaa niiden käytön joissakin tilanteissa.
  • Kolmannen liittimen tyyppi - raaka- liitäntä - ohittaa kirjaston sisäänrakennetun tuen standardiprotokollille, kuten TCP: lle ja UDP: lle . Raw-liitäntöjä käytetään mukautetun matalan tason protokollan kehittämiseen.

Socket-tuki verkkoprotokollissa

Nykyaikaisia ​​verkkopistokkeita käytetään yleensä Internet-protokollan - IP, TCP ja UDP yhteydessä. Internet-protokollaa käyttävät pistorasiat käyttävät kirjastot käyttävät TCP-virtoja, UDP datagrammeja ja IP itse raaka-pistorasioille.

Internet-yhteyden välityksellä IP-liitäntäkirjastot käyttävät IP-osoitetta tiettyjen tietokoneiden tunnistamiseen. Monet Internet-osat toimivat nimeämispalveluilla, jotta käyttäjät ja socket-ohjelmoijat voivat työskennellä tietokoneiden kanssa nimen ( esim . "Thiscomputer.wireless.about.com") osoitteen sijaan ( esim . 208.185.127.40). Stream- ja datagrampi-liittimet käyttävät myös IP- porttien numeroita useiden sovellusten erottamiseksi toisistaan. Esimerkiksi Internetissä olevat selaimet tietävät käyttävän porttia 80 oletuksena Web-palvelimia käyttävien socket-viestien kanssa.