RSS

Datagram Socket

Java Socket

Socket adalah sebuah abstraksi perangkat lunak yang digunakan sebagai suatu "terminal" dari suatu hubungan antara dua mesin atau proses yang saling berinterkoneksi. Di tiap mesin yang saling berinterkoneksi, harus terpasang socket. Socket juga dapat dikatakan sebagai cara untuk komunikasi antar komputer, umumnya lewat network atau internet. Socket biasa digunakan untuk pemrograman berbasis client-server yang dapat menggunakan socket TCP/IP atau socket UDP.

Macam-macam Komunikasi Soket

Secara umum ada dua macam komunikasi dengan menggunakan soket, yaitu komunikasi stream dan komunikasi datagram. Komunikasi stream sering juga disebut dengan komunikasi yang berorientasi koneksi (Connection oriented communication). Sedangkan Komunikasi datagram disebut juga dengan komunikasi tak berkoneksi (connectionless communication). Protokol standar untuk komunikasi stream dikenal dengan istilah TCP (Transmission Control Protocol), sedangkan standar protokol komunikasi datagram dikenal dengan UDP (User Datagram Protocol).


Gambar : Alur Socket Programing pada UDP

Pada UDP, setiap kali suatu paket data dikirim, informasi soket pengirim dan alamat soket tujuan turut dikirimkan. Hal demikian tidak dibutuhkan oleh TCP, karena TCP akan membuat setup koneksi dengan soket tujuan terlebih dulu. Setelah koneksi terbentuk, tidak dibutuhkan mengirimkan informasi soket pengirim tiap kali data dikirimkan. Ini karena proses tujuan akan mengidentifikasi setiap data yang tiba pada soket tujuan sebagai data dari proses pengirim. Koneksi yang terbentuk pada TCP bersifat dua arah (bidirectional).
Perbedaan lain adalah UDP memiliki batasan ukuran datagram (paket data) yang dikirimkan sebesar 64 kb. Sedangkan TCP tidak memiliki batasan ini karena data-data dikirimkan sebagai aliran data (stream). Sesungguhnya TCP akan memecah data yang besar menjadi sejumlah paket data berukuran kecil dan diberi nomer urut. Pada sisi soket penerima, paket-paket data ini akan disimpan, diurutkan kembali, dan akhirnya digabungkan kembali menjadi data besar.
Perbedaan lain adalah UDP merupakan protocol yang unreliable (tidak handal). Ketika paket data dikirimkan, UDP tidak mengecek kembali apakah data yang dikirim sampai tujuan. Jadi dengan UDP tidak ada kepastian bagi sisi pengirim bahwa datanya sudah sampai ke tujuan dengan keadaan baik. Sebaliknya TCP adalah protocol yang reliable yang senantiasa menunggu konfirmasi dari pihak soket penerima, dan kalau perlu paket data yang hilang akan dikirimkan kembali. Konsekuensinya adalah TCP menimbulkan overhead lalulintas jaringan lebih tinggi dibanding UDP.
Paket Java.net memiliki tiga kelas untuk membantu kita menulis program java yang berfungsi didalam datagram untuk mengirim dan mendapatkan paket melalui jaringan, yaitu: Datagram Socket, Datagram Packet dan Multicast Socket yang merupakan sebuah aplikasi yang dapat mengirim dan menerima paket datagram dalam datagram socket. Sebagai tambahan, paket datagram dapat di Broadcast ke semua client yang mendengarkan jaringan menggunakan soket multicast.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar