#burung

Kamis, 09 Juli 2015

Logika sebuah Aplikasi Sederhana Client-Server TCP Sederhana

Dibawah ini ada beberapa contoh listing program untuk mengecek ip, nama komputer, mengganti nama komputer dengan ip, menampilkan host name dan ip address, membuat aplikasi client-server TCP sederhana menggunakan bahasa pemrograman java.

Ø  Berikut adalah contoh listing program untuk mendapatkan ip yang sedang digunakan : 


            Pada statement diatas pertama listing program akan mengimport java.net. Kemudian kita buat class bernama getIP, selanjutnya kita mendeklarasikan InetAddress host benilai null kemudian host akan didapatkan dari nilai InetAddress host dan terakhir pada byte ip didapatkan nilai dari hostAddress. Langkah terkahir terdapat suatu perulangan for dimana di bagian ini akan terjadi pada saat variabel i bernilai 0, dan nilai variabel i lebih kecil dari IP jika kondisi ini terpenuhi maka nilai i akan bertambah.
Ø  Berikut adalah contoh listing program untuk mendapatkan nama komputer yang sedang dipakai : 


            Pada statement diatas Pertama – tama program akan mengimport java.net, kemudian kita buat class bernama getName. Selanjutnya kita deklarasikan InetAddress host = null; dan host = InetAddress.getLocalHost(); maksudnya adalah InetAddress host bernilai null dan host didapatkan dari nilai InetAddress pada localhost.

Ø  Berikut adalah contoh listing program untuk mengganti nama komputer dengan ip yang sedang digunakan : 


            Pada statement diatas pertama program akan mengimport java.net terlebih dahulu dan masuk pada nama class yang dibuat yaitu IPtoName. Untuk program ini terdapat kondisi if dimana jika program nilainya lebih besar sama dengan ( = ) 0 maka cetak nama pemakai dan IPtoName lalu program akan kembali ke semula dan program akan mendeklarasikkan String host yaitu 0 dan InetAddress address bernilai null. Kemudian program akan mengulang ke bagian address yang terdapat di InetAddress pada host kemudian apabila perulangan tersebut tidak terpenuhi maka akan mencetak invalid IP – malformed ip.
Kemudian untuk hasil output ini pada saat menjalankan program masukkan terlebih dulu IPAddress kemudian host name dari komputer. Jika sudah maka jalankan kembali program java tersebut maka host name tersebut akan terganti dengan IP. Dan akan mencetak IP komputer yang lain yaitu 10.189.46.244 dengan host name 10.189.46.244 seperti tampilan diatas.




Ø  Berikut ini adalah program untuk menampilkan host name dan ip address pada komputer yang digunakan : 


        Statement diatas pertama program akan mengimport java.net kemudian program akan masuk ke dalam class program yang bernama NsLookup. Pada program utama ini akan mencetak Pemakai : Java NsLookup hostname kemudian aka mendeklarasikan String host adalah 0 dan InetAddress address bernilai null kemudian apabila host tidak dikenal maka akan tampil Unknown host. Untuk bagian listing byte ip nilainya didapat dari address lalu apabila i > 0 dan i




Listing Aplikasi Client-Server TCP Sederhana :
Aplikasi Client-Server TCP sederhana
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(“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();
}
}
}
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);
}
}
}
1. Compile kedua program diatas pada cmd (javac simpleServer.java dan javac simpleClient.java). Jika memakai 1 pc buka 2 cmd, jika tidak bisa membuka 2 cmd sekaligus buka cmd yang lainnya denga run as administrator.
2. Jalankan server terlebih dahulu, kemudian buka cmd baru untuk menjalankan client. Pada server java simpleServer sedangkan client java simpleClient (nama pc server).
3. Pada client masukkan masukkan kata kunci “salam” dan coba ketikkan kata apa saja dan juga perhatikan pada server apakah kata tersebut masuk atau tidak.

Ø  Berikut output jika kata kunci yang dimasukkan benar : 


Ø  Berikut output jika kata kunci yang dimasukkan salah :