Apa itu Soket?
Soket merupakan fasilitas IPC (Inter Proses Communication) untuk aplikasi jaringan.
Model komunikasi dengan soket digambarkan pada gambar dibawah ini.
Isi Kelas Client sebagai berikut
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.
- Sebagai server
- Sebagai client
- 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