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


penjelasan:

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:


penjelasan:

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 :


ChatServerMulti:


diatas adalah hasil dari program tersebut jika dirunning kan di GitBush 

ChatClientMulti:


diatas adalah hasil jika ChatClientMulti di running kan,selanjutnya disini kita akan mengetikkan perintah inputan pada client pertama.


diatas adalah hasil nya jika kedua nya dijalankan inputan perintah dari client yang akan dibaca oleh server. kemudian selanjutnya akan ditampilkan satu server dengan dua client.


selanjutnya jika ingin memutuskan koneksi antara client dan server pada chat client ketikkan QUIT
maka akan tampil closing


diatas adalah jika kedua client sudah diputus koneksi nya dengan si server.


baiklah sekian informasi yang dapat saya sampaikan semoga informasi yang saya berikan dapat bermanfaat untuk teman-teman sekalian sampai jumpa lagi diblog selanjutnya.




















Komentar

Postingan populer dari blog ini

Program Kasir dengan Bahasa Java

MEMBUAT PROGRAM KASIR SEDERHANA MENGGUNAKAN ARRAY DENGAN BAHASA JAVA

Program Kalkulator Sederhana Menggunakan Bahasa Java