Melakukan koneksi kirim pesan antar socket dengan port / host menggunakan bahasa java

 

Assalamu’alaikum warahmatullahi wabarakatuh

Pada pada kali ini saya akan membahas mengenai Chat antar port socket, nah pada kali ini kita menggunakan server sebagai penerima/receiver  messagenya lalu client sebagai pengirim pesan kepada server.

Nah saya akan membahas mengenai satu-persatu bagian dari beberapa fungsi atau penjelasan code dari tiap kegunaannya.

 

Bagian pertama kita akan membahas mengenai class ChatServer.java

 

import java.io.*; //mengimportkan library input dan output

import java.net.*;// mengiimportkan library network

 

public class ChatServer { //memberikan nama class sekaligus nama file penyimpanan

    private static ServerSocket servSock; //membuat variabel Server Socket yang bersifat private

    private static final int PORT = 1234; //membuat variabel port dengan nilai = 1234

 

    public static void main(String args[]) { //membuka argument dengan PSVM

 

        System.out.println("Opening Port.....\n"); //menampilkan output

 

        try { //melakukan percobaan eksekusi yang akan dijalankan

            servSock = new ServerSocket(PORT); //membuat variabel scanning serversocket atau port

        } catch (IOException e) { //pengecualian jika server socket tidak ditemukan maka yang tercetak adalah isi dari system.out.println dibawah ini

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

            System.exit(1); //mengakhiri perintah

        }

 

        do { //perulangan menggunakan do while untuk memastikan apabila port terbaca maka menjalankan perintah pada class run();

            run();

        } while (true);

    }

 

    private static void run() { //class run

 

        Socket link = null; //socket dengan variabel link yang tidak diberi nilai

        try { //melakukan percobaan eksekusi yang akan dijalankan

            link = servSock.accept();

            BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream()));

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

            int numMessages = 0;

 

            String message = in.readLine(); //melakukan pembacaan pada pesan

            while (!message.equals("close")) { //jika program dijalankan dan dikirim sebuah pesan dari class ChatClient

 

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

                numMessages++;

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

                message = in.readLine();

            }

 

            out.println(numMessages + " message received."); //mencetak atau menyimpan pesan yang dikirim oleh class ChatClient

 

        } catch (IOException e) {

            e.printStackTrace();

 

        } finally {

 

            try { //melakukan eksekusi jika program diakhiri oleh user

                System.out.println("*********Closing Connection****"); //menampilkan message box pada user untuk menutup koneksi hubungan dengan class ChatClient

                link.close(); //mengakhiir program dan menutup program

            } catch (IOException e) {

 

                System.out.println("Unable to disconnect");

                System.exit(1);

            }

        }

    }

}

 

 

Bagian kedua kita akan membahas mengenai class ChatClient.java

import java.io.*; //mengimportkan library input dan output

import java.net.*;// mengiimportkan library network

 

public class ChatClient { //Membuat class dan nama file penyimpanan

 

    private static String strHost; //membuat variabel strhost dengan class private dan tipe data string

    private static InetAddress host; //membuat variable host dengan class private

    private static final int PORT = 1234; //membuat variabel port dengan nilai = 1234

    public static void main(String args[]) {//membuka argument dengan PSVM

 

        try { //melakukan percobaan ekseksui

            host = InetAddress.getLocalHost(); //mendapatkan alamat host dari laptop masing-masing

        } catch (UnknownHostException e) {

            System.out.println("Host ID Not Found"); //output jika host tidak dapat ditemukan

            System.exit(1); //mengakhiri percobaan

        }

        run(); //menjalankan perintah dari class run

    }

 

    private static void run() { //class run

        Socket link = null; //socket dengan variabel link yang tidak diberi nilai

        try { //melakukan percobaan eksekusi

            link = new Socket(host, PORT); //melakukan eksekusi perintah pada port/host dari laptop

            BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream()));

 

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

 

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

 

            String messageresponse;

            do { //melakukan perulangan menggunakan do while

                System.out.print("Enter message : "); //mencetak teks perintah

 

                message = userEntry.readLine(); //memasukan /input pesan

 

                out.println(message);

 

                response = in.readLine();

 

                System.out.println("SERVER " + response); //server melakukan respon/tanggapan pesan dari class MyCliet

 

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

        } catch (IOException e) {

 

            e.printStackTrace();

        } finally { //melakukan final pada percobaan

 

            try { //melakukan percobaan eksekusi

 

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

 

                link.close();

 

            } catch (IOException e) {

 

                System.out.println("Unable to disconnect!");

 

                System.exit(1);

 

            }

        }

    }

}

 

 

Untuk contoh dari hasil program diatas maka dapat kita lihat seperti berikut :






Komentar

Postingan populer dari blog ini

Cara Mudah Membuat Widget Container pada Flutter

The combination looping for and compilation education with Java Language's