Pemrograman soket adalah skema pemrograman di mana soket digunakan dan dimanipulasi untuk membuat koneksi antar perangkat lunak. Soket digunakan untuk menghubungkan perangkat lunak baik antara komputer yang berbeda atau dalam komputer yang sama sehingga program dapat berbagi data. Pemrograman soket digunakan dengan pesan instan, browser Internet, program berbagi file, dan apa pun yang memaksa komputer untuk terhubung ke sistem. Kebanyakan soket diprogram secara otomatis, tetapi beberapa sistem operasi (OS) menempatkan tanggung jawab ini di tangan pengguna.
Pemrograman soket melibatkan penggunaan daftar perintah untuk menghubungkan soket dari satu komputer ke komputer lain. Misalnya, agar program pengirim pesan instan berfungsi, program itu harus terhubung ke komputer kedua. Untuk membuat koneksi ini, soket digunakan. Dengan menjalin koneksi, kedua komputer sekarang dapat terhubung bersama dan berbicara satu sama lain.
Program peer-to-peer (P2P) adalah kasus khusus dalam hal pemrograman soket. Sebagian besar program bertindak baik sebagai klien atau server. Program P2P bertindak sebagai keduanya, itulah sebabnya pengguna dapat mengunduh file dari satu orang sementara file diunduh dari pengguna pada saat yang bersamaan.
Sementara sebagian besar pemrograman soket digunakan agar dua komputer dapat berinteraksi, ini juga berguna untuk dua program di komputer yang sama. Dikenal sebagai interprocessing, ini memungkinkan satu program untuk mengambil informasi dari program lain dan menggunakannya. Misalnya, jika satu program adalah pembuat tayangan slide dan membutuhkan informasi dari program video untuk memutar video di slide, maka soket dibuat untuk menghubungkan program tayangan slide dan video. Interprocessing adalah umum, tetapi tidak biasa seperti menggunakan soket antara dua komputer.
Saat menggunakan pemrograman soket, pemrogram dan pengguna harus ingat bahwa soket adalah dua arah. Ini berarti kedua komputer dapat berbicara satu sama lain sambil juga mengambil data dari satu sama lain. Membuka komputer ke sistem lain bisa berbahaya, karena pihak lain akan dapat melancarkan serangan jika penggunanya jahat. Ini jarang terjadi, dan menghubungkan soket ke sistem lain biasanya aman.
Soket biasanya dibuat secara otomatis pada OS, atau dengan pemrograman terbatas. Dalam antarmuka OS di mana baris perintah sering digunakan, pengguna akan sering harus memalsukan soket secara manual. Ini memaksa pengguna untuk mengetahui beberapa pemrograman soket dasar sehingga koneksi penting ini dapat dibuat. Jika soket tidak dibuat, maka komputer tidak akan dapat berkomunikasi dengan sistem lain, sehingga membatasi kegunaan komputer.