Pemrograman Socket
Komunikasi antar proses yang terjadi pada mesin yang sama
dapat dilakukan dengan menggunakan fasilitas IPC (Inter Process Communication), antara lain menggunakan pipe, named-pipe, shared memory,
message queue. Fasilitas IPC tersebut
di atas tidak dapat mendukung komunikasi antara dua proses yang terletak pada
mesin yang berbeda. Komunikasi di antara dua proses pada mesin yang berbeda
dapat dilakukan melalui jaringan komputer yang menghubungkan kedua mesin. Socket merupakan fasilitas IPC dalam
jaringan. BSD Socket merupakan
implementasi TCP/IP pada mesin UNIX.
Socket ini
merupakan antarmuka ke lapisan TCP/UDP. Operasi Input Output (I/O) socket ini mirip dengan operasi I/O pada
file, yaitu menggunakan socket descriptor.
Jenis-jenis socket dapat dilihat berdasarkan
dua hal, yaitu berdasarkan keaktifannya dan berdasarkan jenis protokolnya.
Berdasarkan keaktifannya socket dapat
dibedakan menjadi dua, yaitu :
a. Socket aktif
Socket ini
digunakan pada sisi Administrator,
karena proses komunikasi akan diawali oleh sisi Adminsitrator dengan menghubungi sisi Client.
b. Socket pasif
Socket ini digunakan
pada sisi Client, karena Client akan menunggu adanya permintaan
sambungan dari Administrator.
Permintaan sambungan ini ada dua jenis, yaitu sambungan dari proses tertentu (specified foreign socket) dan sambungan
dari sembarang proses (unspecified
foreign socket).
Untuk dapat menggunakan socket
dalam komunikasi proses antar mesin dalam jaringan diperlukan cara pemanggilan
(system call) fungsi untuk socket.
Beberapa system call yang dapat digunakan adalah pengolahan data atau
informasi dilakukan oleh dua jenis proses, yaitu :
a. Administrator
Adalah suatu
proses yang secara aktif meminta layanan dari proses lain.
b. Client
Adalah suatu proses yang secara pasif akan menunggu
permintaan layanan dari proses lain, kemudian melaksanakan permintaan tersebut,
dan memberi tanggapan atas permintaan tersebut.
untuk melihathalaman selanjutnya klik disini