Ero sivun ”Käyttäjä:Ordyh/Sandbox” versioiden välillä
(Ak: Uusi sivu: '''Pistoke''' (engl. '''''socket''''') on UNIX-järjestelmissä keskeinen tietoliikenneyhteyttä kuvaava ohjelmointirajapinta. Teknisemmin ilmaistuna pistoke on käyttöjärjestel...) |
Ei muokkausyhteenvetoa |
||
Rivi 1: | Rivi 1: | ||
'''Pistoke''' (engl. '''''socket''''') on [[UNIX]]-järjestelmissä keskeinen tietoliikenneyhteyttä kuvaava ohjelmointirajapinta. Teknisemmin ilmaistuna pistoke on käyttöjärjestelmän [[TCP/IP]]-toteutuksen tarjoama [[wikipedia:fi:Abstrakti tietotyyppi|abstraktio]]. Jokaista UNIX-järjestelmästä Internettiin kulkevaa TCP- ja UDP-yhteyttä vastaa yksi pistoke käyttöjärjestelmän muistissa. Pistokkeeseen kulkeva verkkoliikenne ohjataan pistokkeen avanneelle [[prosessi]]lle. | '''Pistoke''' (engl. '''''socket''''') on [[UNIX]]-järjestelmissä keskeinen tietoliikenneyhteyttä kuvaava ohjelmointirajapinta. Teknisemmin ilmaistuna pistoke on käyttöjärjestelmän [[TCP/IP]]-toteutuksen tarjoama [[wikipedia:fi:Abstrakti tietotyyppi|abstraktio]]. Jokaista UNIX-järjestelmästä Internettiin kulkevaa TCP- ja UDP-yhteyttä vastaa yksi pistoke käyttöjärjestelmän muistissa. Pistokkeeseen kulkeva verkkoliikenne ohjataan pistokkeen avanneelle [[prosessi]]lle. Pistokkeen ei tarvitse välttämättä kuljettaa TCP/IP-liikennettä, vaan sen protokollaksi voidaan määritellä myös esimerkiksi [[IPX]], tai [[UNIX domain socket]], jolloin se on yksi muoto samalla koneella tapahtuvasta prosessienvälisestä kommunikoinnista (engl. '''''I'''nter '''P'''rocess '''C'''ommunication'') eli [[IPC]]:stä. | ||
==Historiaa== | ==Historiaa== | ||
Pistokkeisiin perustuva kommunikointirajapinta on alunperin kehitetty Berkeley Source Distribution eli [[BSD]] UNIX-järjestelmille, ja julkaistu [[BSD-lisenssi]]n alaisuudessa 4.2BSD:n yhteydessä vuonna 1983. Tämän takia toteutus tunnetaan yleisesti nimellä '''Berkeley Sockets'''. Myöhemmin mm. Microsoftin Windows järjeslmiin kopoitiin tämä toteutus, ja tämän vuoksi verkko-ohjelmien ohjelmointi | Pistokkeisiin perustuva kommunikointirajapinta on alunperin kehitetty Berkeley Source Distribution eli [[BSD]] UNIX-järjestelmille, ja julkaistu [[BSD-lisenssi]]n alaisuudessa 4.2BSD:n yhteydessä vuonna 1983. Tämän takia toteutus tunnetaan yleisesti nimellä '''Berkeley Sockets'''. Myöhemmin mm. Microsoftin Windows järjeslmiin kopoitiin tämä toteutus, ja tämän vuoksi verkko-ohjelmien ohjelmointi Windows-järjestelmissä ei eroa merkittävästi UNIX-järjestelmien käytännöistä. Myöhemmin Windowsille on kirjoitettu oma versio pistokerajapinnasta. | ||
Nykyisin [[POSIX]] määrittelee kaikille UNIX-järjestelmille yhteisen pistokerajapinnan, joka ei merkittävästi eroa alkuperäisestä Berkeley Sockets -toteutuksesta. | |||
==Pistoke Linuxissa== | |||
Pistokkeita käytetään [[C]]-kielessä seuraavasti: | |||
#incldue <sys/types.h> | |||
#include <sys/socket.h> |
Versio 12. helmikuuta 2009 kello 18.32
Pistoke (engl. socket) on UNIX-järjestelmissä keskeinen tietoliikenneyhteyttä kuvaava ohjelmointirajapinta. Teknisemmin ilmaistuna pistoke on käyttöjärjestelmän TCP/IP-toteutuksen tarjoama abstraktio. Jokaista UNIX-järjestelmästä Internettiin kulkevaa TCP- ja UDP-yhteyttä vastaa yksi pistoke käyttöjärjestelmän muistissa. Pistokkeeseen kulkeva verkkoliikenne ohjataan pistokkeen avanneelle prosessille. Pistokkeen ei tarvitse välttämättä kuljettaa TCP/IP-liikennettä, vaan sen protokollaksi voidaan määritellä myös esimerkiksi IPX, tai UNIX domain socket, jolloin se on yksi muoto samalla koneella tapahtuvasta prosessienvälisestä kommunikoinnista (engl. Inter Process Communication) eli IPC:stä.
Historiaa
Pistokkeisiin perustuva kommunikointirajapinta on alunperin kehitetty Berkeley Source Distribution eli BSD UNIX-järjestelmille, ja julkaistu BSD-lisenssin alaisuudessa 4.2BSD:n yhteydessä vuonna 1983. Tämän takia toteutus tunnetaan yleisesti nimellä Berkeley Sockets. Myöhemmin mm. Microsoftin Windows järjeslmiin kopoitiin tämä toteutus, ja tämän vuoksi verkko-ohjelmien ohjelmointi Windows-järjestelmissä ei eroa merkittävästi UNIX-järjestelmien käytännöistä. Myöhemmin Windowsille on kirjoitettu oma versio pistokerajapinnasta.
Nykyisin POSIX määrittelee kaikille UNIX-järjestelmille yhteisen pistokerajapinnan, joka ei merkittävästi eroa alkuperäisestä Berkeley Sockets -toteutuksesta.
Pistoke Linuxissa
Pistokkeita käytetään C-kielessä seuraavasti:
#incldue <sys/types.h> #include <sys/socket.h>