Pistikupesad, olenemata sellest, kas neid kasutatakse Linux®-is või mõnes muus operatsioonisüsteemis (OS), on loodud kliendiprogrammi ja serveri vahelise ühenduse loomiseks. See võimaldab kahel programmil jagada teavet, mis on paljude protsesside jaoks oluline. Linux®-i pistikupesade programmeerimise segamiseks on palju võimalusi igal etapil, kuid need näpunäited võivad Linux®-i pistikupesa programmeerimise ülesande lihtsamaks teha. See hõlmab kliendi ja serveri ühenduse õiget kodeerimise viisi, standardiseeritud porte ning õiget pistikupesa tüüpi ja domeeni kasutamist.
Pistikupesaühenduse kliendi- ja serveripoolte programmeerimine hõlmab erinevaid protsesse. Kliendi poolel on esimene toiming sokli loomine “socket().” kaudu. Pärast seda peab programmeerija kasutama serveriga ühenduse loomiseks käsku “connect()”. Lõpuks peab ta serverist pistikupesa kaudu andmete saatmiseks ja vastuvõtmiseks kasutama käske “read()” ja “write()”.
Serveri poolel algab see samamoodi, käsuga “socket()”. Pärast seda peab server end kliendiga siduma käsuga “bind()”. Server peab klienti kuulama () tagamaks, et pistikupesa on ühendatud ja klient vastab. Kui server kontrollib ühendust, lõpetab programmeerija lihtsalt Linux®-i pistikupesa programmeerimise käsuga „accept()”. Kui Linux®-i pistikupesa kliendi- või serveripoolne programmeerimine on tehtud teises järjekorras või kui midagi vahele jäetakse, siis pesa kas keeldub ühenduse loomisest või ei kuva mingit teavet.
Serveriga ühenduse loomiseks peab klient teadma serveri porti. On mõned standardpordid, näiteks Port 21 failiedastusprotokolli (FTP) jaoks, kuid port on iga programmi jaoks erinev. Tuleb tagada, et port on õige või klient võib ühenduse luua vale serveriga.
Linux® soklite programmeerimisel saab programmeerija määrata mitut tüüpi pesasid, kuid kasutusel on kaks peamist pesa: datagramm ja voog. Datagramm haarab sõnumi või teabe pistikupesaühenduse ühelt küljelt ja loeb seda korraga. Stream loeb sõnumit nii, nagu see on tehtud, tähemärgi haaval. Voog on turvalisem, kuid datagramm on parem serverite jaoks, mis edastavad palju tekstipõhiseid sõnumeid.
Mõnikord keeldutakse Linux® pesa programmeerimisel pistikupesast, kuigi kogu programmeerimine on õigesti tehtud. Sageli on põhjuseks see, et kliendi ja serveri pesadel on vastuolulised aadressidomeenid. Pistikupesa õigeks ühendamiseks peavad nii server kui ka klient asuma samas domeenis, näiteks Interneti-domeenis.