Selasa, 18 Februari 2014

// // 1 comment

Apa itu socket programming?

Apakah kalian penah mendengar istilah socket pada sebuah koneksi? Di era ini, banyak aplikasi yang menggunakan internet untuk dapat berfungsi, seperti software ramalan cuaca yang selalu menghubungi server untuk mendapat informasi cuaca terbaru.  Dengan adanya soket, maka hubungan antara software dan server dapat terjadi

Teknologi ini telah digunakan hampir selama 2 dekade agar aplikasi dapat berkomunikasi melalui jaringan.  Soket menyediakan hubungan antara 2 buah software.  Sebagai contoh, web browser dan web server berkomunikasi melalui soket.  Apabila kita ingin melakukan komunikasi jamak, maka diperlukan lebih dari 1 soket.

Soket merupakan saluran 2 arah, setiap sisi dapat mengirim dan menerima data.  Saat hubungan antar soket diinisialisasi, maka pasti ada yang merequest terlebih dahulu.  Sisi yang merequest terlebih dahulu disebut client, dan yang meng-approve disebut server.

Jenis interface dari soket dapat dibagi menjadi 3, stream socket, datagram socket, dan raw socket.

Stream socket memanfaatkan protokol TCP atau disebut juga connection-oriented.  Dalam proses koneksinya, perlu diadakan proses verifikasi dan acknowledgment client oleh server sebelum transfer data dapat berlangsung.

Datagram socket berbeda dengan stream socket.  Datagram socket dapat dilakukan dengan connection-less.  Berarti tidak ada verifikasi dan acknowledgment, hanya sebatas pengiriman dan request saja.  Protokol ini disebut juga UDP.

Raw socket merupakan bypass dari protokol level rendah agar dapat masuk ke dalam protokol TCP atau UDP.

Soket digunakan dalam koneksi internet menggunakan IP.  IP socket libraries mengecek IP address untuk mengidentifikasi tujuannya.  Pada komputer juga diterapkan pemakaian soket dengan sistem IP port numbers untuk membedakan aplikasi yang berjalan agar tidak menggunakan port yang sama.  Contohnya untuk web browser kita selalu menggunakan port 80.

Penting sekali bagi kita memahami soket internet karena saat ini kita sudah sering sekali menggunakan aplikasi yang menggunakan internet.  Diharapkan dengan memahami, kita menjadi tertarik dan memiliki keinginan untuk mengembangkan kemampuan dalam socket programming.

1 komentar: