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.