getIP
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();
}
}
Logika Program
Output Program
getName
import java.net.*;
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 Program
Statement diatas digunakan untuk menampilkan nama host yang dimiliki
oleh sebuah komputer. Pertama-tama program akan mengimport library java.net. Lalu
program akan mendeklarasikan variable host. kemudian program akan memberikan nilai kepada variable host dengan cara
menggunakan fungsi getLocalHost yang
akan mengambil nama host dari komputer tersebut. Setelah itu, program akan
mencetak “Nama komputer anda” yang
diikuti dengan nama host yang diambil menggunakan fungsi getHostName.
Output Program
IPtoName
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());
}
}
Logika Program
Statement diatas digunakan untuk mengganti alamat IP pada komputer menjadi nama host
komputer. Program diawali dengan mengimport library java.net. Lalu program akan membuat sebuah class yang berisi perintah untuk
memasukkan alamat ip komputer yang kemudian di simpan ke dalam variable host. Kemudian program akan mencoba
untuk merubah ip yang tersimpan dalam variable host menjadi nama host dengan perintah InetAddress.getByName(host), apabila IP yang dimasukkan salah maka
program akan tertutup, jika IP yang dimasukkan benar, maka program akan
mencetak nama host yang di dapatkan dengan perintah System.out.println(address.getHostName()).
Output Program
NsLookup
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();
}
}
Logika Program
Statement ini berfungsi untuk melihat IP address dari nama host berdasarkan
argumen dari user. Pada baris awal program akan mengimport library java.net. Lalu program memiliki kondisi pertama jika user tidak memberikan
argumen apapun maka akan mencetak “Pemakaian:
java NsLookup <hostname>” lalu sistem akan keluar. Jika terdapat
argument maka akan disimpan kedalam variable host bertipe data string
berdasarkan argument dari user saat menjalankan program. dan juga program akan
mendeklarasiakn variabel address, dimana variabel address akan digunakan untuk
memperoleh nama host. Setelah itu program akan mencoba mencari IP dari string
host yang sebelumnya sudah diperoleh, jika gagal maka akan mengeluarkan tulisan
“Unknown host” dan sistem akan
keluar. Apabila sukses maka alamat ip akan disimpan kedalam variable ip array yang
bertipe data array. Untuk menampilkan alamat IP yang sudah diambil sebelumnya
digunakan pengulangan for yang mana didalamnya tedapat percabangan if yang jika
nilai i>0 maka akan mencetak “.” selanjutnya program akan mencetak 1 element
dari variabel ip berdasarkan indeks yang diberikan sekaligun menjadikan value
dari elemen tersebut menjadi unsigned value sehingga dapat dibaca secara benar.
Output Program
Client
– Server TCP
simpleServer
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();
}
}
}
Logika Program
Pertama-tama
program akan mengimport seluruh isi dari library java.io dan java.net. lalu
program akan membuat variable baru yaitu testport yang memiliki tipe data
integer untuk menampung alamat port yang nantinya akan digunakan, selain itu
program juga mendeklarasikan variable checkServer, line, is, os, dan
clientsocket. Setelah itu program akan mencoba port yang ada dengan menjalakan
objek ServerSocket dengan argument Testport, jika sukses program akan mencetak
“Aplikasi Server Hidup …” dan jika terjadi kesalahan maka program akan
menjalankan IOException. Setelah itu program akan menerima data yang dikirim
oleh client dengan fungsi accept() dan program akan membalas pesan yang
diberikan oleh client berdasarkan nilai
yang diberikan, jika pesan yang diberikan merupakan “salam” maka program akan
menjawab “salam juga”, selain itu program akan menjawab “Maaf, saya tidak mengerti”.
simpleClient
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);
}
}
}
Logika Program
Pertama-tama
program akan mengimport seluruh isi dari library java.io dan java.net. . lalu
program akan membuat variable baru yaitu testport yang memiliki tipe data
integer untuk menampung alamat port yang nantinya akan digunakan, selain itu
program juga mendeklarasikan variable checkServer, line, is, os, dan
clientsocket. Setelah itu program akan melakukan pengecekan IP yang diberikan
dalam argument oleh user apakah sesuai dengan server yang sedang berjalan.
Setelah itu program akan menunggu inputan dari user yang nantinya akan
dikirimkan ke server. Setelah itu program akan menunggu balasan dari server dan
akan menampilkan balasan tersebut pada sisi client.
Output Program
Tidak ada komentar:
Posting Komentar