CHAT NETWORK PROGRAMMING

CHAT SERVER DAN CHAT CLIENT


Hai guys, kembali lagi di blog saya mengenai network programming. Nah untuk ini, saya akan menjelaskan mengenai bagaimana ChatServer dan ChatClient menggunakan port yang sama. Hal yang harus diperhatikan antara lain ialah alamat IP dari server yang digunakan dan juga nomor port nya. Untuk lebih jelaskan maka disini saya jelaskan mengenai codingan nya.

Codingan ini dapat dibuat di Netbeans ataupun di Sublime Text

1. Class ChatServer

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

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

public class ChatServer { //nama kelas yang dibuat

    private static ServerSocket servSock; //merupakan fungsi dalam kelas ChatServer

    private static final int PORT = 1234; //merupakan nomor port=1234 yang akan berkomunikasi dengan client

    public static void main(String args[]) { //merupakan fungsi method menggunakan tipe data string

        System.out.println("Opening Port.....\n"); //dibuka dengan menggunakan nomor port

        try { //percobaan

            servSock = new ServerSocket(PORT);

        } catch (IOException e) {

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

            System.exit(1); //sistem untuk keluar

        }

        do {

            run(); //untuk menjalankan program

        } while (true); //jika nilai bernar

    }

    private static void run() { //fungsi untuk menjalankan

        Socket link = null; //berisi alamat IP pada komputer

        try { //merupakan percobaan

            link = servSock.accept(); //menunggu alamat server

            BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream())); //merupakan alamat

            PrintWriter out = new PrintWriter(link.getOutputStream(), true); //jika alamat yang dimasukkan benar

            int numMessages = 0; //sebuah pesan dengan tipe data integer

            String message = in.readLine(); //pesan masuk dengan tipe data string

            while (!message.equals("close")) { //pesan telah ditutup

                System.out.println("Message received");

                numMessages++;

                out.println("Message " + numMessages + ":" + message);

                message = in.readLine();

            }

            out.println(numMessages + " message received.");

        } catch (IOException e) {

            e.printStackTrace();

        } finally { //selesai

            try { //ulang lagi

                System.out.println("*********Closing Connection****"); //koneksi sudah ditutup

                link.close(); //alamat ditutup

            } catch (IOException e) { 

                System.out.println("Unable to disconnect"); //tidak terkineksi atau terhubung lagi

                System.exit(1); //sistem keluar

            }

        }

    }

}


2. Class ChatClient

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

import java.net.*;//berfungsi untuk menghubungkan komunikasi antar program

public class ChatClient {//merupakan nama kelas yang telah dibuat

    private static String strHost;//merupakan method dari host dengan tipe data string

    private static InetAddress host;//fungsi method sebagai penghubung alamat host

    private static final int PORT = 1234;//port 1234 dengan tipe data integer

    public static void main(String args[]) {//merupakan method fungsi dengan tipe data string

        try { //percobaan

            host = InetAddress.getLocalHost();//merupakan host yang akan memasukkan alamat lokalnya

        } catch (UnknownHostException e) {//tidak diketahui

            System.out.println("Host ID Not Found");//ketika id host tidak sesuai

            System.exit(1);//perintah keluar dari sistem

        }

        run();//perintah jalankan

    }

    private static void run() {//method untuk menjalankan program

        Socket link = null;//alamat socket bernilai null

        try {//percobaan

            link = new Socket(host, PORT);//merupakan alamat host dan nomor port

            BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream()));//memasukkan alamat

            PrintWriter out = new PrintWriter(link.getOutputStream(), true);//jika alamat yang dituliskan benar

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

            String message, response;//respon pesan dengan tipe data string

            do {

                System.out.print("Enter message : ");//mengirim pesan

                message = userEntry.readLine();

                out.println(message);//pesan keluar

                response = in.readLine();

                System.out.println("SERVER " + response);//mendapat respon dari server

            } while (!message.equals("close"));//pesan ditutup

        } catch (IOException e) {

            e.printStackTrace();

        } finally {//selesai

            try {//percobaan

                System.out.println("closing connection");//penutupan koneksi

                link.close();//alamat ditutup

            } catch (IOException e) {

                System.out.println("Unable to disconnect!");//jaringan tidak terkoneksi atau terhubung

                System.exit(1);//akan keluar dari sistem

            }

        }

    }

}

Selanjutnya kita lihat output nya menggunakan GIT
Demikianlah penjelasannya dari blog saya.
Sampai jumpa di blog selanjutnya.
Salam Sehat :)

TERIMA KASIH😊



Komentar