Program getIP, getName, IPtoName, NsLookup, dan Aplikasi Client-Server pada Java

May 09, 2016

Program getIP.java

Source Code getIP.java
Seperti namanya, program ini berfungsi  untuk mendapatkan IP Address dari komputer. Program menggunakan import java.net untuk berkomunikasi dengan jaringan. Kemudian, untuk mendapatkan IP Address, perintah yang digunakan adalah host = InetAddress.getLocalHost();. IP Address yang berhasil didapatkan akan disimpan pada byte ip[] = host.getAddress();. Ketika program dieksekusi, output yang akan tampil adalah  IP Address yang sudah didapatkan dengan cara memanggil kebali ip[i] dan menggunakan titik (.) untuk memisahkan kelas pada IP Address.

Output getIP.java
Program getName.java

Source Code getName.java
Masih sama seperti program sebelumnya, program ini juga sesuai dengan namanya. Program untuk mendapatkan nama dari personal computer ini juga terhubung dengan jaringan komputer untuk berkomunikasi. InetAddress host = null menandakan InetAddress bernilai kosong yang kemudian terdapat pemanggilan nama dari personal computer dengan menggunakan perintah host = InetAddress.gerLocalHost. Program akan menyimpannya pada host.getHostName yang nantinya pada saat eksekusi program, akan tampil bersamaan dengan pesan "Nama komputer Anda: ".

Output getName.java
Program IPtoName.java

Source Code IPtoName.java
Program ini menggabungkan antara program pertama dan kedua. Program terhubung dengan jaringan untuk berkomunikasi dengan komputer. Pada program ini, terdapat sebuah kondisi, jika (args.length == 0), maka program akan mencetak "Pemakaian: Java IPtoName <IP Address>" hal ini digunakan untuk membantu dalam eksekusi program, dimana IP Address diikut sertakan dalam pemanggilan program. Namun jika program tidak sesuai dengan kondisi, maka program akan berhenti mengeksekusi. Selanjutnya program menggunakan perintah address = InetAddress.getByName (host), dimana IP Address digunkan untuk mendapatkan nama dari personal computer. Nama tersebut kemudian disimpan pada address.getHostName yang pada saat program dieksekusi akan kembali dipanggil.

Output IPtoName.java
Program NsLookup.java

Source Code NsLookup.java
Berbanding terbalik dengan program sebelumnya. Program ini memiliki kode program dengan perintah yang berlawanan dengan program ketiga. Jika pada program yang lalu menggunakan IP Address untuk mendapatkan nama dari personal computer, maka untuk program keempat ini menggunakan nama dari personal computer untuk mendapatkan IP Address.

Output NsLookup.java
Program Client-Server

Berbeda dengan empat program sebelumnya. Program ini memiliki dua kode program untuk dieksekusi. simpleServer.java dan simpleClient.java.

simpleServer.java

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("SemestaMerahasiakan") == 0) {
os.writeBytes("Selamat Datang ...");
} 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();
}
}
}

simpleClient.java

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);
}
}
}

Program di atas tidak hanya menggunakan jaringan, tetapi juga menggunakan input dan output untuk saling berkomunikasi. Pertama-tama, ketika program simpleServer.java berhasil dieksekusi, yang dilakukan adalah checkServer = new ServerSocket (TESTPORT);, jika berhasil aktif, maka akan muncul pesan "Aplikasi Server Hidup ...". Kemudian lakukan eksekusi pada program simpleClient.java. Program akan menghubungan diri dengan server yang telah aktif dan menampilkan pesan "Masukkan Kata Kunci: ", kata kunci ini terdapat pada program simpleServer.java, jika kata kunci sesuai, yaitu SemestaMerahasiakan, maka server akan mengirimkan pesan balasan "Selamat Datang ...". Namun apabila kata kunci tidak sesuai, maka pesan yang akan tampil adalah "Maaf, saya tidak mengerti" dan program berhenti melakukan eksekusi. Kata kunci ini dapat diubah sesuai dengan kepentingan.

Output simpleServer.java
Output simpleClient.java

You Might Also Like

0 Coments

Pageviews

Instagram

Soon To Be ...