Minggu, 05 Agustus 2018

Aplikasi Client-Server TCP Sederhana Java


Script dan Penjelasan simpleServer

Pada postingan kali ini akan dibahas mengenai aplikasi Client-Server sederhana menggunakan koneksi dari TCP. Ada 2 program yang dibutuhkan untuk membuat aplikasi ini yaitu simpleServer dan simpleClient yang dimana seperti namanya bahwa simpleServer akan menjadi server dari program simpleClient. Berikut ini script dan penjelasan dari program simpleServer.

import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
      ServerSocket checkServer = null;
      String line;
      BufferedReader is = null;
      DataOutputStream os = null;
      Socket clientSocket = null;
      try {
            checkServer = new ServerSocket(TESTPORT);
            System.out.println("Aplikasi Server hidup ...");
      } catch (IOException e) {
                        System.out.println(e);
      }
      try {
            clientSocket = checkServer.accept();
            is = new BufferedReader(new
            InputStreamReader(clientSocket.getInputStream()));
            os = new DataOutputStream(clientSocket.getOutputStream());
      } catch (Exception ei) {
                        ei.printStackTrace();
      }
      try {
            line = is.readLine();
            System.out.println("Terima : " + line);
            if (line.compareTo("salam") == 0) {
                        os.writeBytes("salam juga");
            }
            else {
                        os.writeBytes("Maaf, saya tidak mengerti");
            }
      } catch (IOException e) {
                        System.out.println(e);
      }

      try {
            os.close();
            is.close();
            clientSocket.close();
      } catch (IOException ic) {
                        ic.printStackTrace();
            }
      }
}

Pertama-tama import package library yang kita butuhkan. Program ini membutuhkan library java.io untuk dapat menggunakan function input dan output dan library java.net untuk menggunakan function network. Untuk membuat server TCP memerlukan socket yang akan digunakan oleh client untuk itu perlu dideklarasikan socket, pada program ini menggunakan port 5000 sebagai socket servernya. Kemudian program akan menjalankan atau menghidupkan server jika berhasil akan muncul tulisan “Aplikasi Server hidup ...” jika terjadi error akan ditampilkan pesan kesalahannya. Kemudian program akan menunggu client untuk mengkoneksikan jaringannya ke server, untuk dapat terkoneksi client harus memasukkan kata kunci “salam” dan jika berhasil server akan mengirim pesan balik ke user “salam juga” jika kata kunci salah maka server akan membalas “Maaf, saya tidak mengerti” kepada client. Koneksi server akan otomatis terputus setelah menerima satu kali (1x) session dari client.


Script dan Penjelasan simpleClient

Ada 2 program yang dibutuhkan untuk membuat aplikasi ini yaitu simpleServer dan simpleClient yang dimana seperti namanya bahwa simpleServer akan menjadi server dari program simpleClient. Berikut ini script dan penjelasan dari program simpleClient.

import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
      Socket cl = null;
      BufferedReader is = null;
      DataOutputStream os = null;
      BufferedReader stdin = new BufferedReader(new
      InputStreamReader(System.in));
      String userInput = null;
      String output = null;
      // Membuka koneksi ke server pada port REMOTE_PORT
      try {
            cl = new Socket(args[0], REMOTE_PORT);
            is = new BufferedReader(new
            InputStreamReader(cl.getInputStream()));
            os = new DataOutputStream(cl.getOutputStream());
      } catch(UnknownHostException e1) {
                        System.out.println("Unknown Host: " + e1);
      } catch (IOException e2) {
                        System.out.println("Erorr io: " + e2);
      }
      // Menulis ke server
      try {
            System.out.print("Masukkan kata kunci: ");
            userInput = stdin.readLine();
            os.writeBytes(userInput + "\n");
      } catch (IOException ex) {
                        System.out.println("Error writing to server..." + ex);
      }
      // Menerima tanggapan dari server
      try {
            output = is.readLine();
            System.out.println("Dari server: " + output);
      } catch (IOException e) {
                        e.printStackTrace();
      }
      // close input stream, output stream dan koneksi
      try {
            is.close();
            os.close();
            cl.close();
      } catch (IOException x) {
                        System.out.println("Error writing...." + x);
            }
      }
}

Pertama-tama import package library yang kita butuhkan. Program ini membutuhkan library java.io untuk dapat menggunakan function input dan output dan library java.net untuk menggunakan function network. Untuk dapat terkoneksi dengan server maka saat mengeksekusi program user perlu menambahkan nama dari server yang akan dikoneksikan dalam hal ini adalah nama dari komputer server. Sesuai dengan port socket dari server sebelumnya maka pada program client juga dideklarasikan port socket 5000 untuk menghubungkan ke server. Kemudian program akan mengindentifikasi nama dari server yang ingin kita koneksikan jika benar atau sesuai dengan server yang aktif maka akan terhubung jika tidak maka akan muncul pesan kesalahan “Unknown Host:” jika salah memasukkan nama server dan pesan error lainnya jika diluar kesalahan nama. Setelah terhubung ke server program akan meminta kata kunci yang tepat agar dibalas oleh server dalam hal ini adalah “salam” jika kata kunci salah maka server akan membalas “Maaf, saya tidak mengerti” dan jika kata kunci benar maka server akan membalas “salam juga”. Setelah itu koneksi akan terputus dalam satu session.

Output Aplikasi Client-Server TCP Sederhana

Ouput Program simpelServer


Output Program simpleClient

Tidak ada komentar:

Posting Komentar