Apa itu Soket C?

“Socket C” adalah istilah yang terkadang digunakan untuk merujuk pada proses penulisan kode socket dalam bahasa pemrograman C dan terkadang digunakan untuk merujuk ke file library sebenarnya yang menampung implementasi untuk beberapa fungsi socket. File pustaka soket C sebenarnya berisi implementasi untuk berbagai fungsi dan makro yang menyediakan fungsionalitas soket dasar yang disediakan oleh pustaka bahasa, meskipun file soket C bergantung pada sistem operasi dan mungkin tidak diimplementasikan pada beberapa sistem. Menulis kode soket C melibatkan pembuatan antarmuka dengan protokol input dan output standar, yang dikenal sebagai soket, dan menggunakannya untuk mengirim atau menerima informasi, biasanya melalui jaringan atau melalui perangkat keras. Bahasa pemrograman C dimaksudkan untuk portabel, tetapi pemrograman soket bergantung pada beberapa fungsi khusus sistem tingkat rendah, sehingga terkadang sulit untuk menulis program dalam C yang menggunakan soket tetapi juga mempertahankan portabilitas lintas sistem.

Ada tiga tipe dasar soket yang didukung soket C. Yang pertama dikenal sebagai datagram, yang kedua adalah aliran, dan yang ketiga adalah akses mentah. Datagram adalah jenis soket yang mengirimkan informasi dalam bundel kecil yang dikenal sebagai paket. Setiap paket dikirim dari sumber dengan informasi tentang soket tujuan yang dicari di seluruh jaringan. Meskipun datagram dapat menjadi metode komunikasi yang efisien melalui soket dan sering digunakan untuk mengirim email, datagram juga bersifat lossy, karena tidak ada paket yang dikirim yang dijamin akan tiba di soket tujuan.

Soket aliran membuat koneksi ke soket lain dan informasi dilewatkan langsung di antara soket. Ketika digunakan dalam pemrograman soket C, soket jenis ini memastikan bahwa semua data yang dikirim diterima di sisi lain. Namun, satu komplikasi adalah bahwa soket terkadang dapat menggunakan pemblokiran, artinya soket akan menghentikan eksekusi suatu proses hingga informasi diterima atau hingga soket ditutup, meskipun menggunakan utas atau proses bercabang dapat menyelesaikan masalah ini dalam banyak kasus. Akses soket mentah disediakan sebagai sarana untuk benar-benar berinteraksi pada tingkat perangkat keras yang hampir sama dengan perangkat apa pun yang menghosting soket.

Soket biasanya digunakan dalam berbagai bentuk untuk komunikasi Internet. Perangkat keras dan driver yang memungkinkan terjadinya jaringan sangat bervariasi menurut sistem operasi, sehingga mungkin sulit untuk menemukan file pustaka soket C yang mendukung semua kemungkinan kombinasi. Untuk alasan ini, file soket C itu sendiri, serta file header soket, sering berisi daftar panjang arahan kompilasi bersyarat sehingga akan dikompilasi secara berbeda di berbagai sistem.