Pistoke (engl. socket) on ohjelmointirajapinta tiedon lähettämiseen ja vastaanottamiseen päätepisteiden välillä joko verkossa tai prosessien välisessä kommunikaatiossa (IPC). Varhainen socket-termin käyttö on peräisin dokumentista RFC 147 The Definition of a Socket (1971), jossa kuvattiin ARPANETin ratkaisua.
Berkeley sockets on de facto standardi, joka on myös POSIX-standardi.[1][2] Unix System V:ssä oli vastaavaan tarkoitukseen suunnattu rajapinta Transport Layer Interface (TLI), josta kehitettiin X/Open Transport Interface (XTI).[3][4][5]
socket()
-kutsulla avattavaa rajapintaa voidaan käyttää useille eri protokollille.[6] socket()
-rajapinta ilmeni ensi kertaa 4.2BSD:ssä.[6][7] Rajapinta tukee useita protokollaperheitä.[8]
Eräs IPC-muoto on Unix domain sockets, jota käytetään Berkeley sockets -rajapinnan kautta kuten TCP/IP-kommunikaatiota, mutta osoitemuotona on polku IP-osoitteen sijaan.[9] Unix domain sockets -kommunikaatiossa protokollaperhe on AF_UNIX (tai AF_LOCAL) ja sitä voidaan käyttää ilman nimeä tai sidottuna tiedostojärjestelmän polkuihin.[10]