MEMBUAT CHAT NETWORK PROGRAMMING

 MEMBUAT CHAT NETWORK PROGRAMMING


Hai teman-teman..

Kembali lagi di blog pribadi saya mengenai penerapan multi client ddengan single server, dan menerapkan class ServerSocket dan ServerSocket.
Masih sama dengan blog saya sebelumnya, disini menggunakan Git Bash Here dan membuat codingannya di NetBeans IDE 8.0.2

Langsung saja masuk ke codingan nya
Disini akan saya jelaskan tiap baris nya..


1. ChatServerMulti

import java.io.*; //untuk membaca library input output

import java.net.*; //untuk menghubungkan program yang dibuat lewat jaringan

public class ChatServerMulti{// merupakan nama class untuk CharServerMulti

    private static ServerSocket servSock;// membuat server sock untuk menghubungkan port shock dengan client

    private static final int PORT = 1234 ;// sebuah  port socket yang akan menghubungkan server dan client

    public static void main(String args[]) throws IOException{// suatu method yang membaca input data string.

        System.out.println("Opening Port.....\n");// menghasilkan output teks berupa "Opening Port"

        try{// u/ mengulang kembali program apabila terjadi exception

            servSock = new ServerSocket(PORT);// membuat variabel baru 

        }catch(IOException e){// berfungsi untuk menangani kode exception error

            System.out.println("Unable to attach to port");// output teks 

            System.exit(1);// berfungsi untuk keluar dari kesalan exception 

        }

        do{ // 

            Socket client = servSock.accept();// membuat server socket pada client

            ClientHandler handler = new ClientHandler(client);// membuat variabel baru

            handler.start();

        }while(true);//akan terjdi perulangan selagi nilai true.

    }

}

class ClientHandler extends Thread{ //


    private Socket client ;

    private BufferedReader in ;

    private PrintWriter out ;

    public ClientHandler(Socket socket){// set up referensi ke socket beroasiasi

     client = socket ;

       try{// mengulang kembali program jika terjadi kesalahn

           in = new BufferedReader(new// membuat input dan ouput untuk stream,, stream digunkan untuk berkomunikasi dengan client.

               InputStreamReader(client.getInputStream()));// berfungsi untuk menerima respond dari client

           out = new PrintWriter(client.getOutputStream(),true);//berfungsi untuk mengirim data ke client

       }catch(IOException e){// berfungsi untuk menangani exception yang error

        e.printStackTrace();//metode pada instance Exception yang mencetak jejak stack instance ke System.err

    }

}

public void run(){

    try{

        String received ;

        do{ ////Terima pesan dari client pada input stream socket

            received = in.readLine();

            System.out.println(received);

            //Echo-kan pesan kembali ke client pada stream output socket

            out.println("ECHO : " + received);

        }while(!received.equals("QUIT"));// mengulang sehingga client mengirim pesan "quit"

    }catch(IOException e){

        e.printStackTrace();

    }

    finally{

     try{

         if (client != null){

            System.out.println("Closing down connection");

            client.close();

        }

    }catch(IOException e){

        e.printStackTrace();

    }

}

}

}


2. ChatClientMulti

import java.io.*;//untuk membaca library input output

import java.net.*;//untuk menghubungkan program yang dibuat lewat jaringan

public class ChatClientMulti{// merupakan nama class untuk CharClientMulti

private static InetAddress host ;

private static final int PORT = 1234;

private static Socket link ; //  Operasi ini pada intinya menunggu permintaan koneksi dari sisi client. 

private static BufferedReader in ;// membuat koneksi input oleh client

private static PrintWriter out ;// membuat output oleh client

private static BufferedReader keyboard ;// memasukkan data input melalui keyboard

public static void main(String args[]){


try{// u/ mengulang kembali program apabila terjadi exception

host = InetAddress.getLocalHost(); // variabel host

link = new Socket(host,PORT);// variabel port

in = new BufferedReader(new


InputStreamReader(link.getInputStream()));//digunakan untuk menerima respon dari client

out = new PrintWriter(link.getOutputStream(),true);

keyboard = new BufferedReader(new InputStreamReader(System.in));

String message, response;

do{

System.out.print("Enter message(QUIT to exit)");

message = keyboard.readLine();

out.println(message);

response = in.readLine();

System.out.println(response);

}while(!message.equals("QUIT"));

}catch(UnknownHostException e){

System.out.println("Host ID not found!");

}

catch(IOException e){

e.printStackTrace();

}

finally{

try{

if (link != null){

System.out.println("Closing down connection");

link.close();

}

}

catch(IOException e){

e.printStackTrace();

}

}

}

}

Selanjutnya kita lihat output nya menggunakan GIT ya teman-teman..

Disini kita gunakan 3 client untuk 1 server yaa..


Demikianlah penjelasannya dari blog saya.
Sampai jumpa di blog selanjutnya.
Salam Sehat :)

TERIMA KASIH😊



Komentar