Pistorasiat mahdollistavat viestinnän kahden eri prosessin välillä samalla tai eri koneilla. Tarkemmin sanottuna se on tapa puhua muille tietokoneille käyttäen tavanomaisia Unix – tiedostokuvaajia. Unixissa jokainen I / O-toiminto tehdään kirjoittamalla tai lukemalla tiedostokuvaaja. Tiedostokuvaus on vain avoimeen tiedostoon liittyvä kokonaisluku, joka voi olla verkkoyhteys, tekstitiedosto, pääte tai jotain muuta.
ohjelmoijalle pistorasia näyttää ja käyttäytyy paljon kuin matalan tason tiedostokuvauslaite. Tämä johtuu siitä, että komennot kuten luku() ja kirjoitus() toimivat pistorasioiden kanssa samalla tavalla kuin ne tekevät tiedostojen ja putkien kanssa.
Pistorasiat otettiin käyttöön ensin 2.1 BSD: ssä ja jalostettiin sittemmin nykyiseen muotoonsa 4.2 BSD: llä. Sockets-ominaisuus on nyt saatavilla useimmissa nykyisissä UNIX system-julkaisuissa.
missä pistorasiaa käytetään?
Unix-liitäntää käytetään asiakas-palvelin-sovelluskehyksessä. Palvelin on prosessi, joka suorittaa joitakin toimintoja asiakkaan pyynnöstä. Useimmat sovellustason protokollat, kuten FTP, SMTP ja POP3, käyttävät pistorasioita luodakseen yhteyden asiakkaan ja palvelimen välillä ja sitten tietojen vaihtamiseen.
Pistorasiatyypit
käyttäjille on tarjolla neljänlaisia pistorasioita. Kahta ensimmäistä käytetään yleisimmin ja kahta viimeistä harvoin.
prosessien oletetaan kommunikoivan vain samantyyppisten pistorasioiden välillä, mutta mikään rajoitus ei estä yhteydenpitoa erityyppisten pistorasioiden välillä.
-
Stream Sockets-toimitus verkottuneessa ympäristössä on taattu. Jos lähetät stream socket kolme kohdetta ”A, B, C”, ne saapuvat samassa järjestyksessä − ”A, B, C”. Nämä pistorasiat käyttävät TCP (Transmission Control Protocol) tiedonsiirtoon. Jos toimitus on mahdotonta, lähettäjä saa virheilmoituksen. Tietueissa ei ole mitään rajoja.
-
Datagram Sockets-toimitus verkottuneessa ympäristössä ei ole taattu. Ne ovat connectionless, koska sinun ei tarvitse olla avoin yhteys kuten Stream Pistorasiat − voit rakentaa paketin kohdetiedot ja lähettää sen ulos. He käyttävät UDP: tä (User Datagram Protocol).
-
Raw Pistorasiat – nämä tarjoavat käyttäjille pääsyn taustalla viestintäprotokollia, jotka tukevat socket abstraktioita. Nämä pistorasiat ovat yleensä datagrammi suuntautunut, vaikka niiden tarkat ominaisuudet ovat riippuvaisia rajapinnan tarjoama protokolla. Raakaa pistorasiaa ei ole tarkoitettu yleiskäyttäjälle; ne on tarkoitettu lähinnä niille, jotka ovat kiinnostuneita kehittämään uusia viestintäprotokollia tai pääsemään käsiksi joihinkin olemassa olevan protokollan kryptisempiin tiloihin.
-
Sequened Packet Sockets-ne ovat samanlaisia stream socket, lukuun ottamatta, että ennätys rajat säilyvät. Tämä liitäntä tarjotaan vain osana Network Systems (NS) socket abstraktio, ja on erittäin tärkeä useimmissa vakavia NS sovelluksia. Sequenced-packet sockets avulla käyttäjä voi käsitellä Sequence Packet Protocol (spp) tai Internet Datagram Protocol (IDP) otsikot paketti tai ryhmä paketteja, joko kirjoittamalla prototyyppi otsikko yhdessä mitä tietoja on lähetettävä, tai määrittämällä oletusotsikko, jota käytetään kaikkien lähtevien tietojen, ja antaa käyttäjälle mahdollisuuden vastaanottaa otsikot saapuvien pakettien.
mitä seuraavaksi?
seuraavissa kappaleissa on tarkoitus vahvistaa perusasioita ja valmistella perusta ennen kuin voit kirjoittaa palvelin-ja asiakasohjelmia socket-ohjelmalla. Jos haluat suoraan hypätä nähdä, miten kirjoittaa asiakas-ja palvelinohjelma, voit tehdä niin, mutta se ei ole suositeltavaa. On erittäin suositeltavaa, että menet askel askeleelta ja suorittaa nämä muutaman ensimmäisen luvun tehdä pohja ennen siirtymistä tehdä ohjelmointi.