Multi Chat Network Programing (Satu Server terhubung dengan Multi Client)
Multi Chat Network Programing
Hallo teman-teman kembali lagi di blog saya kali ini baiklah hari ini saya akan membahas materi network programing yaitu multi chat, sebelumnya saya akan menjelaskan dasar-dasar nya terlebih dahulu:
Multi Chat disini artinya kita akan menghubungkan satu server dengan beberapa Client
Client Server:
Client adalah program yang terkoneksi dengan sistem untuk meminta layanan. Server adalah program yang berjalan pada suatu komputer yang menunggu program lain yang minta layanan pada port tertentu.
Server Socket Menyatakan suatu koneksi TCP yang berfungsi untuk listen yang siap menerima suatu permintaan dari proses lain. ServerSocket dipakai untuk membangun aplikasi server yang bersifat connection oriented. Setelah ada hubungan antar sistem, baru bisa dilakukan pertukaran data melalui stream dengan membuat input stream dan output stream dari obyek socket yang dihasilkan ketika kelas ServerSocket menerima permintaan dari client melalui method accept().
nah di program kali ini kita dapat menampilkan client lebih dari 1 menggunakan satu server yang sama. oleh karena itu disebut multi chat.
diblog kali ini kita punya dua kelas yaitu class ChatServerMulti dan class ChatClientMulti. berikut adalah source code nya:
1.chatservermulti
baris 1: adalah method untuk membaca semua input output
baris 2: berfungsi untuk membaca java net
baris 3: adalah kelas nya
baris 4: adalah method yang hanya dapat diakses jika memiliki kelas yang sama dan disini serversocket berefungsi untuk membangun aplikasi servernya
baris 5: adalah private method yang hanya bisa di gunakan jika menggunakan kelas yang sama dan disini terdapat port, port sendiri adalah jalan atau ibarat jembatan penghubung antar client dan server nya disini memakai port 1234
baris 6: adalah method utama nya disini seperti biasa memakai string sebagai tipe data nya
baris 7: berfungsi untuk menampilkan opening port pada monitor
baris 8: try: disini berfungsi untuk melakukan pengecekan try selalu berpasangan dengan catch
baris 9: servsock disini berfungsi untuk menjalankan method tadi , Konstruktor ServerSocket memerlukan port number (1234) sebagai argumen.
baris 10: catch adalah pasangan dari try jika pengecekan oleh try gagal maka catch akan melakukan pembacaan selanjutnya
baris 11: untuk menampilkan message unabele to attach to port yang artinya tidak dapat terhubung ke port server biasa nya ini terjadi jika anda membuka lebih dari satu server.
baris 12: untuk keluar dari program
baris 14: diprogram ini artinya memakai perulangan do while untuk menampilkan perintahnya
baris 15: adalah untuk menghubungkan server dengan client
baris 16: socket client berfungsi untuk menunggu permintaan koneksi dari client
baris 17: adalah variabel untuk menghubungkan koneksi server dengan client
baris 18: adalah perulangannya
baris 21 ; adalah kelas untuk clienthandler dimana ini berfungsi agar server dapat menerima koneksi dan berinteraksi dengan banyak client dalam satu waktu.
baris 22: adalah method untuk client
baris 23: digunakan untuk berkomunikasi dengan client. Objek InputStreamReader digunakan untuk menerima respon dari client. Sedangkan PrintWriter untuk mengirimkan data ke client.
baris 25: adalah method utama dari clienthandler
baris 26: client disini dihubungkan dengan socket yang artinya socket berfungsi sebagai penghubung
baris: 27: try untuk pengecekan
baris 28: in untuk mengambil inputan
baris 30: untuk menerima outputan
baris 31: adalah pembacaan perintah jika try tadi gagal dilakukan
baris 32: berfungsi untuk mendeteksi kesalahan dalam method
baris 35: adalah method yang digunakan untuk menerima inputan dari client
baris 36: untuk melakukan pengecekan
baris 37: tipe data string yang digunakan
baris 38: menggunakan perulangan do while selama proses chat berlangsung
baris 39: untuk melaukan pembacaan inputan
baris 40: untuk menampilkan received ke monitor yang artinya perintah berhasil diterima
baris 41: untuk menampilkan echo pada layar monitor
baris 42: perulangan yang dilakukan akan berhenti jika diketikkan perintah quit
baris 43: berfungsi untuk melakukan pengecekan dimana disini juga dilakukan perintah pengecekan method yang digunakan
baris 46: sebuah variable artinya program berakhir
baris 47; try berfungsi untuk pengecekan
baris 48: disini variable si client bernilai null atau tidak memiliki nilai
baris 49: untuk menampilkan closing down connection ke monitor yang artinya permintaan telah selesai dilakukan
baris 50: artinya client sudah tidak terhubung ke server
baris 52-53: untuk pembacaan method
baris 54-57: kurung kurawal artinya program telah selesai dibuat dan siap dijalankan
2.chatclientmulti:
baris 1: adalah method untuk membaca semua input output
baris 2: berfungsi untuk membaca java net
baris 3: adalah kelas nya
baris 4: adalah method yang hanya dapat diakses jika memiliki kelas yang sama dan disini serversocket berefungsi untuk mengambil informasi alamat ip suatu komputer
baris 5: adalah private method yang hanya bisa di gunakan jika menggunakan kelas yang sama dan disini terdapat port, port sendiri adalah jalan atau ibarat jembatan penghubung antar client dan server nya disini memakai port 1234
baris 6: ini adalah method yang dapat digunakan jika class nya sama dan method ini berfungsi menghubungkan client dan server.
baris 7-9: digunakan untuk berkomunikasi dengan client. Objek InputStreamReader digunakan untuk menerima respon dari client. Sedangkan PrintWriter untuk mengirimkan data ke client.
baris 10: method utama yang digunakan
baris 11: try disini berfungsi untuk melakukan pengecekan dimana disini kita akan memanggil host
baris 12: host adalah wadah untuk menampung addres
baris 13: link berfungsi untuk link adalah fungsi turunan dari run tadi , Operasi ini pada intinya menunggu permintaan koneksi dari sisi client.
baris 14: in disini untuk melakukan pembacaan inputan
baris 15: InputStreamReader merupakan sebuah Variabel yang terdapat Pada sebuah Aplikasi yang mempunyai basis data Java yang di gunakan untuk sebuah variabel dalam memasukan Inputan ke dalam sebuah program.
baris 16: out disini untuk menerima outputan
baris 17: keyboard adalah variable untuk menampung perintah yang diketikkan saat client bekerja
baris 18: tipe data yang digunakan adalah string'
baris 19: menggunakan perulangan do
baris 20: untuk menampilkan enter message dimana disini kita dapat mengetikkan teks apa saja yang anda butuhkan
baris 21: adalah variable pesan yang digunakan untuk menampilkan teks dari si client
baris 22: adalah perintah yang digunakan untuk menampilkan message tadi ke monitor
baris 23: adalah variable yang digunakan untuk menerima respon
baris 24: untuk menampilkannrespon tadi
baris 25: adalah perulangan yang digunakan
baris 26: adalah pengecekan yang dilakukan karena adanya perintah quit diatas sebelumnya
baris 27: menampilkan host id not found yang artinya host id yang digunakan tidak tepat
baris 29-30 : berfungsi untuk memeriksa method yang digunakan
baris 32: berfungsi sebagai variable akhir dari program
baris 33: berfungsi untuk pengecekan
baris 34: artinya link disini bernilai null
baris 35: untuk menampilkan closing down connection artinya koneksi antara client dan server sudah berakhir
baris 36: variable ditutup
baris 39-40: dilakukan untuk pengecekan perintah akhir tadi yaitu perintah untuk memutus client dan server nya.
baris 41-43: kurung kurawal tanda program telah selesai.
output dari program: disini saya akan menampilkan hasil eksekusi programnya di aplikasi GitBash cara menjalankannya disini ada dua cara yang pertama yaitu dengan membuka gitbashnya lalu anda ketik cd(change directory) tempat program disimpan : lalu cd nama filenya/src/ atau cara kedua yaitu dengan membuka dimana anda menyimpan source code nya setelah itu klik kanan dan pilih git bash here. seperti gambar :
Komentar
Posting Komentar