Apa itu Socket?
Soket memungkinkan komunikasi antara dua proses yang berbeda pada mesin yang sama atau berbeda. Lebih tepatnya, ini adalah cara untuk berbicara dengan komputer lain menggunakan deskriptor file Unix standar. Di Unix, setiap tindakan I / O dilakukan dengan menulis atau membaca deskriptor file. Deskriptor file hanyalah bilangan bulat yang terkait dengan file yang terbuka dan bisa berupa koneksi jaringan, file teks, terminal, atau yang lainnya.
Bagi seorang programmer, soket terlihat dan berperilaku seperti deskriptor file tingkat rendah. Ini karena perintah seperti read () dan write () bekerja dengan soket dengan cara yang sama seperti pada file dan pipa.
Soket pertama kali diperkenalkan di 2.1BSD dan kemudian disempurnakan menjadi bentuk saat ini dengan 4.2BSD. Fitur soket sekarang tersedia dengan rilis sistem UNIX terbaru.
Dimana Socket Digunakan?
Soket Unix digunakan dalam kerangka aplikasi klien-server. Server adalah proses yang melakukan beberapa fungsi berdasarkan permintaan dari klien. Sebagian besar protokol tingkat aplikasi seperti FTP, SMTP, dan POP3 menggunakan soket untuk membuat koneksi antara klien dan server dan kemudian untuk bertukar data.
Jenis Socket
Ada empat jenis soket yang tersedia untuk pengguna. Dua yang pertama paling sering digunakan dan dua yang terakhir jarang digunakan.
Proses dianggap berkomunikasi hanya antara soket dengan jenis yang sama tetapi tidak ada batasan yang mencegah komunikasi antara soket jenis yang berbeda.
Stream Sockets- Pengiriman dalam lingkungan jaringan dijamin. Jika Anda mengirim melalui soket aliran tiga item "A, B, C", mereka akan tiba dalam urutan yang sama - "A, B, C". Soket ini menggunakan TCP (Transmission Control Protocol) untuk transmisi data. Jika pengiriman tidak memungkinkan, pengirim menerima indikator kesalahan. Rekaman data tidak memiliki batasan apapun.
Datagram Sockets- Pengiriman dalam lingkungan jaringan tidak dijamin. Mereka tidak memiliki koneksi karena Anda tidak perlu memiliki koneksi terbuka seperti di Stream Sockets - Anda membuat paket dengan informasi tujuan dan mengirimkannya. Mereka menggunakan UDP (User Datagram Protocol).
Raw Sockets- Ini memberi pengguna akses ke protokol komunikasi yang mendasarinya, yang mendukung abstraksi soket. Soket ini biasanya berorientasi pada datagram, meskipun karakteristik persisnya bergantung pada antarmuka yang disediakan oleh protokol. Soket mentah tidak ditujukan untuk pengguna umum; mereka telah disediakan terutama bagi mereka yang tertarik dalam mengembangkan protokol komunikasi baru, atau untuk mendapatkan akses ke beberapa fasilitas yang lebih samar dari protokol yang ada.
Sequenced Packet Sockets- Mereka mirip dengan soket aliran, dengan pengecualian bahwa batas rekaman dipertahankan. Antarmuka ini disediakan hanya sebagai bagian dari abstraksi soket Sistem Jaringan (NS), dan sangat penting dalam sebagian besar aplikasi NS yang serius. Soket paket berurutan memungkinkan pengguna untuk memanipulasi header Sequence Packet Protocol (SPP) atau Internet Datagram Protocol (IDP) pada paket atau sekelompok paket, baik dengan menulis header prototipe bersama dengan data apa pun yang akan dikirim, atau dengan menentukan header default yang akan digunakan dengan semua data keluar, dan memungkinkan pengguna menerima header pada paket masuk.
Apa selanjutnya?
Beberapa bab berikutnya dimaksudkan untuk memperkuat dasar-dasar Anda dan mempersiapkan landasan sebelum Anda dapat menulis program Server dan Klien menggunakan socket . Jika Anda ingin langsung melompat untuk melihat bagaimana menulis program klien dan server, maka Anda dapat melakukannya tetapi tidak disarankan. Sangat disarankan agar Anda melanjutkan langkah demi langkah dan menyelesaikan beberapa bab awal ini untuk membuat dasar Anda sebelum melanjutkan melakukan pemrograman.