Posted by : Unknown
Rabu, 12 November 2014
1. Pengertian Socket
Socket adalah sebuah Class yang
disediakan oleh beberapa bahasa pemrograman. Dengan socket, sebuah
aplikasi di suatu komputer dapat Tentu saja aplikasi di komputer yang
dihubungi menerima koneksi juga
menggunakan socket. Dengan kata lain
socket adalah suatu Class yang digunakan oleh aplikasi untuk saling
berhubungan. berikut ini menunjukkan bagaimana suatu aplikasi berhubungan
dengan aplikasi lainnya.
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.
Lebih lanjut mengenai
socket, ada dua jenis socket yang bisa digunakan untuk membangun aplikasi,
yakni TCP Socket dan UDP Socket. Perbedaan utamanya adalah, di model TCP
digunakan konsep connection oriented dan reliable data transfer, sedangkan
di model UDP digunakan 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 UDP adalah Video Converence.
Untuk membangun
aplikasi hal pertama yang perlu dilakukan adalah menganalisa jenis
aplikasi kita, kebutuhan bandwidth, kebutuhan ketersampaian data dan
sensitifitas terhadap delay. Berdasarkan hal ini kita bisa menentukan
protokol apa yang kita gunakan, entah TCP atau UDP.
2. Pemrograman Socket Menggunakan
TCP
Cara kerja aplikasi yang menggunakan TCP
dapat digambarkan oleh di bawah ini :
1. Untuk bisa melakukan
koneksi client server, program server harus berjalan terlebih dahulu
2. Di sisi server
disediakan sebuah socket, yang disebut welcoming socket yang fungsinya
untuk mendeteksi adanya permintaan koneksi dari sisi client.
3. Di sisi client
terdapat client socket. Jika ingin menghubungi server, maka melalui client
socket-nya, client membuat inisialisai koneksi ke welcoming socket milik
server, dengan mode three-way handshake.
4. Setelah welcoming
socket menerima inisialisasi koneksi dari client socket, aplikasi server
akan membuat connection socket di sisi server. Dengan connection socket
ini, client socket dan connection socket berinteraksi satu sama lain untuk
mengirim dan menerima data.
5.
6. Client membaca data
yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data
tersebut di monitor.
3. Pemrograman Socket Menggunakan UDP
Contoh aplikasi untuk UDP socket berikut
ini menggunakan kasus yang sama dengan kasus yang digunakan oleh TCP
socket, yaitu :
1. Client membaca inputan
dari keyboard, kemudian mengirimkan hasilnya ke server melalui socket-nya.
2. Server membaca data
yang dikirim oleh client di connection socket
3. Server mengubah data
menjadi huruf besar
4. Server mengirimkan
data yang telah diubah menuju client melalui socket-nya.
5. Client membaca data
yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data
tersebut di monitor
Perbedaan utama antara aplikasi berbasis TCP dengan aplikasi berbasis
UDP adalah di aplikasi UDP tidak ada welcoming socket. Pada UDP tidak
ada socket khusus untuk permintaan inisialisai koneksi. Setiap data yang
datang ditangani lansung oleh server socket.