Vtičnice, ne glede na to, ali se uporabljajo v Linux® ali drugem operacijskem sistemu (OS), so narejene za vzpostavitev povezave med odjemalskim programom in strežnikom. To obema programoma omogoča izmenjavo informacij, kar je pomembno za številne procese. Obstaja veliko priložnosti, da na kateri koli stopnji zmotite programiranje vtičnic za Linux®, vendar lahko ti nasveti olajšajo nalogo programiranja vtičnic za Linux®. To bo vključevalo ustrezen način kodiranja povezave odjemalca in strežnika, standardizirana vrata ter uporabo prave vrste in domene vtičnice.
Programiranje odjemalske in strežniške strani povezave vtičnice vključuje različne procese. Na strani odjemalca je prvo dejanje ustvariti vtičnico prek “socket().” Po tem mora programer uporabiti ukaz “connect()” za povezavo s strežnikom. Nazadnje mora uporabiti ukaza “read()” in “write()” za pošiljanje in prejemanje podatkov prek vtičnice s strežnika.
Na strani strežnika se začne na enak način, z ukazom “socket()”. Po tem se mora strežnik povezati z odjemalcem z “bind()”. Strežnik mora “poslušati()” odjemalca, da zagotovi, da je vtičnica povezana in da se odjemalec odziva. Ko strežnik preveri povezavo, programer samo konča programiranje vtičnice Linux® z ukazom “accept()”. Če se programiranje vtičnice Linux® na strani odjemalca ali strežnika izvaja v drugačnem vrstnem redu ali če je karkoli preskočeno, bo vtičnica zavrnila povezavo ali ne bo prikazala nobenih informacij.
Za povezavo s strežnikom mora odjemalec poznati vrata strežnika. Obstaja nekaj standardnih vrat, na primer vrata 21 za protokol za prenos datotek (FTP), vendar se vrata za vsak program razlikujejo. Zagotoviti je treba, da so vrata prava, sicer se lahko odjemalec poveže z napačnim strežnikom.
Pri programiranju vtičnic Linux® lahko programer določi več vrst vtičnic, vendar se uporabljata dve glavni vtičnici: datagram in tok. Datagram zajame sporočilo ali informacije z ene strani vtičnice in jih prebere vse naenkrat. Stream bere sporočilo, kot je nastalo, znak za znakom. Stream je bolj varen, vendar je datagram boljši za strežnike, ki dostavljajo veliko besedilnih sporočil.
Včasih je pri programiranju vtičnic Linux® vtičnica zavrnjena, čeprav je vse programiranje opravljeno pravilno. To je pogosto zato, ker imata vtičnice za odjemalca in strežnika nasprotujoče si naslovne domene. Da se vtičnica pravilno poveže, morata biti tako strežnik kot odjemalec v isti domeni, kot je internetna domena.