Ero sivun ”Pistoke” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
alun perin
(UNIX -> Unix) |
p (alun perin) |
||
(2 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
Pistoke (engl. ''socket'') on [[Unix]]-järjestelmissä keskeinen tietoliikenneyhteyttä kuvaava, käyttöjärjestelmän tarjoama kaksisuuntainen ohjelmointirajapinta, joka mahdollistaa kahden mahdollisesti eri isäntäkoneella olevan [[prosessi]]n välisen kommunikoinnin. Prosessille pistoke näkyy abstraktiona, jota voi lukea ja johon voi kirjoittaa tiedoston tapaan. Käyttäjän näkökulmasta jokaista Unix-järjestelmässä kulkevaa tietoliikenneyhteyttä ja jokaista palvelinsovellusta vastaa yksi pistoke. Käytössä olevat pistokkeet voi listata komennolla [[netstat]]. | '''Pistoke''' (engl. ''socket'') on [[Unix]]-järjestelmissä keskeinen tietoliikenneyhteyttä kuvaava, käyttöjärjestelmän tarjoama kaksisuuntainen ohjelmointirajapinta, joka mahdollistaa kahden mahdollisesti eri isäntäkoneella olevan [[prosessi]]n välisen kommunikoinnin. Prosessille pistoke näkyy abstraktiona, jota voi lukea ja johon voi kirjoittaa tiedoston tapaan. Käyttäjän näkökulmasta jokaista Unix-järjestelmässä kulkevaa tietoliikenneyhteyttä ja jokaista palvelinsovellusta vastaa yksi pistoke. Käytössä olevat pistokkeet voi listata komennolla [[netstat]]. | ||
Käyttöjärjestelmä ohjaa pistokkeeseen kuuluvan verkkoliikenteen pistokkeen omistavalle prosessille. Tunnistus tapahtuu porttinumeron perusteella (''Unix domain socketin'' tapauksessa tiedostonimen perusteella). Pistokkeen ei tarvitse välttämättä kuljettaa TCP/IP-liikennettä, vaan sen alemman tason protokollaksi voidaan valita myös esimerkiksi [[IPX]] tai myös [[Unix domain socket]], jolloin ei ole kyse verkkoliikenteestä, vaan paikallisella koneella tapahtuvasta prosessienvälisestä kommunikoinnista eli [[IPC]]:stä (engl. ''Inter Process Communication''). | Käyttöjärjestelmä ohjaa pistokkeeseen kuuluvan verkkoliikenteen pistokkeen omistavalle prosessille. Tunnistus tapahtuu porttinumeron perusteella (''Unix domain socketin'' tapauksessa tiedostonimen perusteella). Pistokkeen ei tarvitse välttämättä kuljettaa TCP/IP-liikennettä, vaan sen alemman tason protokollaksi voidaan valita myös esimerkiksi [[IPX]] tai myös [[Unix domain socket]], jolloin ei ole kyse verkkoliikenteestä, vaan paikallisella koneella tapahtuvasta prosessienvälisestä kommunikoinnista eli [[IPC]]:stä (engl. ''Inter Process Communication''). | ||
Rivi 6: | Rivi 6: | ||
==Historiaa== | ==Historiaa== | ||
Pistokkeisiin perustuva kommunikointirajapinta on | Pistokkeisiin perustuva kommunikointirajapinta on alun perin kehitetty Berkeley Software Distribution eli [[BSD]]-Unix-järjestelmille, ja julkaistu [[BSD-lisenssi]]n alaisuudessa 4.2BSD:ssa vuonna 1983. Tämän takia toteutus tunnetaan yleisesti nimellä ''Berkeley Sockets''. Myöhemmin mm. Microsoftin Windows-järjestelmiin tehtiin tämän rajapinnan kanssa jossain määrin yhteensopiva toteutus. | ||
Nykyisin [[POSIX]] määrittelee kaikille Unix-järjestelmille yhteisen pistokerajapinnan, joka ei merkittävästi eroa alkuperäisestä Berkeley Sockets -toteutuksesta. | Nykyisin [[POSIX]] määrittelee kaikille Unix-järjestelmille yhteisen pistokerajapinnan, joka ei merkittävästi eroa alkuperäisestä Berkeley Sockets -toteutuksesta. |