SOCKET PROGRAMMING
Socket adalah mekanisme
komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun
antar mesin [1]. Socket
merupakan sebuah Class yang disediakan oleh beberapa bahasa pemrograman
yang digunakan oleh aplikasi untuk saling berhubungan. Berikut
ini menunjukkan bagaimana suatu aplikasi berhubungan dengan aplikasi
lainnya.
Socket pertama kali diperkenalkan di
sistem UnixBSD versi 4.2, pada tahun 1983, sebagai kelanjutan dari implementasi
protocol TCP/IP yang muncul pertama kali pada sistem Unix BSD versi 4.1 pada
akhir tahun 1981. Hampir setiap varian unix atau linux mengadopsi BSD Socket
[2]
Paradigma pada aplikasi jaringan
berlaku model client-server.
Aplikasi yang menginisialisasi koneksi, disebut aplikasi client. Sedangkan aplikasi
yang menerima inisialisasi disebut sebagai aplikasi server. Oleh karena itu, jika kita membangun suatu aplikasi
jaringan yang lengkap, maka kita harus membuat aplikasi client maupun aplikasi server.
Ada dua jenis socket yang bisa digunakan untuk
membangun aplikasi, yakni TCP Socket dan UDP Socket. Perbedaan utamanya
adalah, model TCP menggunakan konsep connection oriented dan reliable data
transfer, sedangkan model UDP menggunakan konsep connectionless oriented
dan unreliable data transfer. Sebuah aplikasi dapat menggunakan salah satu
dari jenis socket tersebut disesuaikan dengan peruntukan aplikasi
tersebut. Aplikasi berbasis TCP biasanya adalah aplikasi yang membutuhkan
ketepatan data hingga 100% tapi tidak memperdulikan lama pengiriman, sedangkan
aplikasi berbasis UDP biasanya adalah aplikasi yang tidak terlalu
mempedulikan ketepatan data tapi sangat peduli dengan delay pengiriman.
Contoh aplikasi TCP adalah web browser, sedangkan contoh UDP adalah Video
Converence.
Untuk membangun aplikasi hal pertama yang perlu
dilakukan adalah menganalisa jenis aplikasi, kebutuhan bandwidth,
kebutuhan ketersampaian data, dan sensitifitas terhadap delay. Berdasarkan
hal ini kita bisa menentukan protokol apa yang akan kita gunakan, TCP atau
UDP [3].
Dalam network programming dibutuhkan socket yang bertindak sebagai
interface pemrograman pada transport layer jaringan. Socket programming dapat
dibuat dalam berbagai bahasa seperti java, c, atau phyton. Socket programming
juga dapat dikatakan sebagai bentuk file dan manipulasi I/O yang digunakan untuk membaca dan
melewatkannya ke mesin lain dalam suatu jaringan. Setiap socket programming
terdiri dari client dan server. Dengan port number dan IP address.
Sebuah server dibatasi oleh port
khusus pada mesin khusus dan menunggu koneksi dari client. Sedangkan client kemudian
menyambungkan koneksi ke server dengan IP
address dan nomor port tertentu [4].
Referensi :
[4]Sayed
Mohamed Buhari. 2011. Prin of Programming Languages: A paradigm approach. New
Delhi: Tata Graw-Hill
Tidak ada komentar:
Posting Komentar