Saturday, March 30, 2013

Tutorial aplikasi Client - Server menggunakan Teknologi Socket


Apa itu Soket?
Soket merupakan fasilitas IPC (Inter Proses  Communication) untuk  aplikasi jaringan.
Model komunikasi dengan soket  digambarkan pada gambar dibawah ini.



Agar suatu soket dapat berkomunikasi dengan soket lainnyanya, maka soket butuh diberi suatu alamat unik sebagai identifikasi. Alamat soket terdiri dari  Alamat IP dan Nomer Port. Contoh alamat soket adalah  192.10.10.1 :  5000, dimana nomer 5000 adalah nomer portnya. Alamat IP dapat menggunakan alamat Jaringan Lokal (LAN) maupun alamat internet. Jadi soket dapat digunakan  untuk IPC pada LAN maupun Internet.  Mengapa dibutuhkan nomer port? Apakah nomer IP komputer tujuan saja tidak cukup? Nomer port dibutuhkan karena proses yang berjalan pada suatu komputer umumnya lebih dari satu. Sehingga dibutuhkan tambahan informasi sebagai identifikasi proses yang hendak dihubungi. Jika IP computer diibaratkan adalah nomer telepon suatu perusahaan, maka nomer port adalah nomer ekstensinya.  Suatu proses yang hendak berkomunikasi dengan proses lain lewat mekanisme soket haruslah mengikatkan dirinya dengan salah satu port pada komputerny.  Pengikatan diri ini disebut dengan  binding.
Java menyediakan obyek  Socket  dan  ServerSocket  untuk komunikasi soket TCP. ServerSocket digunakan pada sisi aplikasi server, sedangkan  Socket digunakan baik pada sisi aplikasi server maupun  client. Berikut ini akan saya demokan pengiriman objek melalui socket, namun syaratnya objek yang akan dikirimkan melalui socket haruslah mengimplementasikan Serializable.
Pertama buat 3 buah project.
  1. Sebagai server
  2. Sebagai client
  3.  Sebagai tempat penampung kelas yang objeknya akan dikirim.

Mengapa harus di buatkan project untuk menampung kelas yang akan dikirim ?? dari beberapa pengalaman menggunakan teknologi socket ini ada beberapa kejadian error, dikarenakan bedanya serializable objek yang dikirim dengan objek yang menerima,jadi untuk menjaga konsistensi serializable dari tiap – tiap objek dibuatkanlah satu project yang menampung kelas – kelas yang akan dikirm, lalu project tersebut dijadikan library di project client dan server, jadi dengan cara seperti itu aplikasi client dan server mengacu pada objek yang sama dan tentunya konsistensi serializable dari kelas yang akan dikirim akan terjaga. Oke mari kita ke coding.
  •  Buat 3 project dengan nama seperti gambar dibawah ini.
 

  • Buat paket dalam project common seperti gambar dibawah ini, lalu buat kelas Mahasiswa dalam paket tersebut, rencananya kelas Mahasiswa ini yang nanti objeknya akan dikirim dari client ke srever



Isi kelas Mahasiswa sebagai berikut :


Clean and Build project SocketCommon  lalu include kan kedalam project client dan Server sebagai library


    

  •       Sekarang kita pindah ke project client, buat paket seperti gambar dibawah ini, lalu buat kelas Client pada paket tersebut.


Isi Kelas Client sebagai berikut
  •       Yang terakhir, mari kita ke project server, buat paket seperti gambar dibawah ini, lalu buat kelas ServerBeta pada paket tersebut.
 
Isi kelas ServerBeta sebagai berikut :



Sekarang mari kita test, pertama jalankan aplikasi server lalu disusul aplikasi client. Setiap running harus seperti itu.
Jika sudah benar, penampakannya seperti ini :
Sekian Tutorial aplikasi Client - Server dengan teknologi socket. Semoga bermanfaat, amiinn.

Perhatian !!
Tutorial diatas hanya bisa digunakan dengan satu client dan satu kali proses, lalu bagai mana caranya untuk menghandle banyak client dan dengan banyak proses ? nantikan Tutorial Socket part II.

No comments:

Post a Comment

Adsense