Senin, 06 Juni 2016

Prog Jaringan (Get IP, Get Name, IP to Name, NSLOOKUP dan Aplikasi Client-Server (JAVA))

GET IP

        Source code di bawah ini di gunakan untuk mendapatkan IP,langsung saja copy source code dibawah ini ke notepad,lalu simpan dengan format file .java .

import java.net.*;
public class getIP {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");
}
System.out.print(ip[i] & 0xff);
}
System.out.println();
}
}

       Statement di gunakan untuk import package java.net. pada baris selanjutnya kita membuat penamaan kelas dengan nama getIP. Selanjutnya pengenalan InetAddress host yang bernilai null,lalu host yang di dapat dari local host,lalu byte ip yang di dapat dari alamat host. Setelah semua source code di copy,lalu kita jalan kan dengan cmd.



Get Name

      Source code di bawah ini di gunakan untuk mendapatkan name. Cara sama seperti sebelumnya,langsung saja copy source code di bawah ini.

import java.net.*;
public class getName {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.println("Nama komputer Anda: " +
host.getHostName());
}
}

      logika untuk source code di atas hampir sama seperti getIP,hanya saja pada getName ini ada statement cetak System.out.println("Nama komputer Anda: " + host.getHostName()); yang di gunakan untuk mencetak hasil akhir



IP to Name

         Source code di bawah ini di gunakan untuk mendapatkan name dari ip. Cara sama seperti sebelumnya,langsung saja copy source code di bawah ini.

import java.net.*;
public class IPtoName {public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java IPtoName <IP address>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch (UnknownHostException e) {
System.out.println("invalid IP - malformed IP");
System.exit(0);
}
System.out.println(address.getHostName());
}
}

        Sama seperti sebelumnya ,pada awal kita akan mengimport package java.net. kemudian terdapat percabangan if yang memiliki kondisi jika panjang string sama dengan 0 maka akan tercetak yang ada di dalam tanda (“  ”),jika salah maka akan mengulang. Selanjutnya terdapat try catch jika tidak sesuai kondisi maka akan mencetak invalid IP,tetapi jika sesuai dengan kondisi maka akan mencetak hostname.



NSLOOKUP

        Source code di bawah ini di gunakan untuk mendapatkan IP dengan hostname. Cara sama seperti sebelumnya,langsung saja copy source code di bawah ini.

import java.net.*;
public class NsLookup {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java NsLookup <hostname>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
}
byte[] ip = address.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}
}
     
         Sama seperti sebelumnya ,pada awal kita akan mengimport package java.net. terdapat percabangan if yang berisikan jika panjang string sama dengan 0 maka akan mencetak Pemakaian: java NsLookup <hostname> . kemudian ada try catch yang berisikan jika tidak sesuai dengan kondisi maka akan mencetak Unknown host,tetapi jika sesuai maka akan mencetak hasil akhir.



Aplikasi Client Server

Source code 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();
}
}
}
  

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

Setelah semua source code di copy ,lalu di jalankan,maka hasilnya akan seperti di bawah ini



Tidak ada komentar:

Posting Komentar