Sabtu, 22 Juli 2017

Pemrograman Jaringan Dengan Menggunakan Java

getIP

Perintah-perintah di bawa ini berfungsi untuk menampilkan IP Address dari suatu computer pada program 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 0) {
System.out.print(“.”);
}
System.out.print(ip[i] & 0xff);
}
System.out.println();
}}
Pada listing code import java.net digunakan untuk mengimport package java yang di dalamnya berisi tentang jaringan, selanjutnya pada perintah InetAddress host = nulln berfungsi nilai awal host inetaddress yaitu null, selanjutnya nilai host dapat di isikan pada function kegunaannya untuk mendapatkan localhost. Perintah getLocalHost(); setelah itu byte ip[] = host.getAddress(); kegunaanya kita dapat membuat sebuah array yang memiliki nama ip berfungsi untuk menampung nilai dari host dan menggunakan function untuk mendapatkan ip address.perintah terakhir berfungsi untuk menampilkan ip address ke layar yang sebelumnya didapat dengan cara di pisahkan masing-masing bytenya menggunakan perulangan.
Dibawah ini hasil dari perintah di atas:





getName
perintah di bawah ini berfungsi untuk mendapatkan nama host dari suatu komputer
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());
}}
perintah di atas sama seperti perintah sebelumnya, yang berbeda pada perintah ini yaitu function utama untuk meretrieve nama host dari suatu computer.
Dibawah ini hasil dari perintah di atas:






 IPtoName
Perintah ini berfungsi untuk mendapatkan Nama Host dari IP dengan menggunakan Java.
import java.net.*;
public class IPtoName {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println(“Pemakaian: java IPtoName “);
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());
}}
Pada listing di atas terdapat sebuah kondisi dimana jika panjang string sama dnegan 0 maka akan mencetak pemakaian java IptoName, selanjutnya kita mendeklarasikan String host dnegan index array args 0 dan dengan address bernilai null. Perintah blok try dan catch berfungsi untuk kesalahan yang berada pada program, pada perintah blok try berfungsi untuk mencari nama host yang selanjutnya akan di blok oleh catch yang akan menangkap ekspresi dari UnknownHostException e   invalid IP – malformed IP dan jika catch sudah blok maka program akan mencetak nama dari komputer tersebut.
Dibawah ini hasil dari perintah di atas:




NSLookUp
Perintah di bawah ini berfungsi untuk menampilkan informasi nameserver dengan menggunakan nslookup.
import java.net.*;
public class NsLookup {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println(“Pemakaian: java NsLookup “);
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 0) System.out.print(“.”);
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}}
Pada perintah kali ini hamir sama dengan IptoName namu ada yang berbeda yaitu pada baris yang berada pada program ini jika di jalankan block try dan catchnya sudah di jalankan sebelumnya. Baris pada perintah ini untuk mencetak ip address dengan byte ip[] = host.getAddress(); kegunaan perintah ini untuk membuat array bernama ip yang dapat menampung nilai nilai dari host dengan menggunakan function dan perintah lainnya sama dengan perintah yang sebelumnya.
Dibawah ini hasil dari perintah di atas:




Aplikasi client-server TCP sederhana

Pada perintah dibawah ini suatu program java untuk menampilkan pesan antar client dan server dengan menggunakan TCP.

Server side

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();
}}} 
Dan di bawah ini tampilannya :Pada aplikasi ini dijalankan aplikasi akan mengecek iika port 5000 sedang di jalankan atau tidak. Kegunaan blok try pertama yang dimiliki untuk mengirim response, jika server socket null otomatis akan mencetak “aplikasi server hidup” yang terdapat pada port 5000. Sedangkan fungsi ke dua pada blok try untuk menerima request client dengan clientsocket, dan pada block try selnajutnya akan membalas pesan yang sama jika diterima pesan salam maka server membalas salam juga dan jika menerima pesan lainnya maka server akan membalas “maaf saya tidak mengerti” dan akan menutup koneksinya.




Client side

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);
}}}
Dan di bawah ini tampilan pada client:Perintah ini akan di jalankan pada komputer client, dan memafaatkan port 5000 untuk jalur komunikasi data pada TCP, yang dalamnya terdapat blok try pertama untuk membuka koneksi ke server, dan jika koneksi tersebut gagal maka akan muncul unknown host, sedangkan kegunaan blok try kedua berfungsi jika memasukka kata salam agar pesannya dapat diterima oleh server, sedangkan kegunaan blok try ke tiga yaitu untuk menerima response dari server dan akan menampilkan dan terakhir akan menutupkan koneksi input stream dan output stream.




Tidak ada komentar:

Posting Komentar