Programiranje utičnice je programska shema u kojoj se utičnice koriste i manipuliraju kako bi se stvorila veza između softvera. Utičnice se koriste za povezivanje softvera između različitih računala ili unutar istog računala kako bi programi mogli dijeliti podatke. Programiranje utičnice koristi se za razmjenu trenutnih poruka, internetske preglednike, programe za dijeljenje datoteka i sve što prisiljava računalo da se poveže sa sustavom. Većina utičnica se programira automatski, ali neki operativni sustavi (OS) tu odgovornost stavljaju u ruke korisnika.
Programiranje utičnice uključuje korištenje popisa naredbi za povezivanje utičnice s jednog računala na drugo. Na primjer, da bi program za instant messenger radio, mora se povezati s drugim računalom. Za ovu vezu koristi se utičnica. Uspostavljanjem veze, dva se računala sada mogu povezati i razgovarati jedno s drugim.
Peer-to-peer (P2P) programi su posebni slučajevi kada je u pitanju programiranje utičnice. Većina programa djeluje ili kao klijent ili kao poslužitelj. P2P program djeluje kao oboje, zbog čega korisnici mogu preuzimati datoteke od jedne osobe dok se datoteke preuzimaju od korisnika u isto vrijeme.
Iako se većina programiranja utičnice koristi tako da dva računala mogu komunicirati, također je korisno za dva programa na istom računalu. Poznato kao međuprocesiranje, to omogućuje jednom programu da preuzme informacije iz drugog programa i koristi ih. Na primjer, ako je jedan program kreator dijaprojekcije i treba mu informacije iz video programa za reprodukciju videozapisa na slajdu, tada je napravljena utičnica za povezivanje slideshowa i video programa. Međuprocesiranje je uobičajeno, ali ne tako često kao korištenje utičnica između dva računala.
Kada koristite programiranje utičnice, programer i korisnik moraju zapamtiti da su utičnice dvosmjerne. To znači da oba računala mogu razgovarati jedno s drugim, a istovremeno uzimaju podatke jedno od drugog. Otvaranje računala drugom sustavu može biti opasno, jer će druga strana moći pokrenuti napad ako je njezin korisnik zlonamjeran. To je ipak rijetko, a spajanje utičnice na drugi sustav obično je sigurno.
Utičnice se obično izrađuju automatski na OS-u ili s ograničenim programiranjem. U OS sučeljima gdje se naredbeni redak često koristi, korisnik će često morati ručno krivotvoriti utičnice. Ovo prisiljava korisnika da zna neke osnovne utičnice programiranja kako bi se ove važne veze mogle uspostaviti. Ako utičnica nije stvorena, tada računalo neće moći komunicirati s drugim sustavima, što ograničava korisnost računala.