1.
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
Program
getIP ini akan memanggil kelas inetAddress yang berisi perintah untuk berbagai
fungsi jaringan, pada kelas ini dideklarasikan dengan objek baru yaitu host
yang bernilai null. Selanjutnya program akan diberikan hak akses local host
dari komputer, yang kemudian akan diproses sehingga mendapatkan alamat IP yang
berasal dari host address.
Hasilnya :
2.
getName
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
Program
getName diatas berisi kelas yang akan mengizinkan perintah untuk berkomunikasi
melalui jaringan. Kemudian akan memanggil kelas sebagai fungsi untuk
pengambilan alamat IP pada suatu komputer yang bernilai null. Dan pada perintah
getHostName ini digunakan untuk mendapatkan nama host pada komputer kita sendiri.
Hasilnya :
3.
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
Program
ini akan mendeklarasikan fungsi library pada java.net. kemudian program akan
masuk pada kondisi dimana args.length sama dengan nilai null. Selanjutnya
diberikan nilai host yang akan ditampung dalam bentuk array, lalu program akan
melakukan pengujian lewat informasi host dari IP yang diinput oleh user dengan
perintah getbyname. Jika percobaan pada baris program sebelumnya gagal, maka
akan ditampilkan sebuah error "invalid IP - malformed IP" yang
berarti IP yang dimasukkan bukanlah suatu host. Dan pada baris terakhir untuk
menampilkan nama host sesuai dengan host object addressnya.
Hasilnya :
4.
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
Program
diatas merupakan pendeklarasian package java yang digunakan untuk memanggil
fungsi. Kemudian terdapat sebuah percabangan untuk mengantisipai jika user tidak
memasukkan nama perangkatnya maka program akan berhenti. Lalu perintah akan
mendeklarasikan variabel address sebagai variabel untuk memanggil fungsi
InetAddress dengan nilai null. Terdapat kondisi try dimana digunakan untuk
mendapatkan nama komputer yang IP nya sudah dimasukkan oleh user, dan pada
kondisi kedua untuk menghandle error yang berhubungan dengan host. Perintah
selanjutnya yaitu untuk mendapatkan alamat IP pada perangkat masing – masing
kelas yg akan disimpan kedalam variabel
array. Bagian terakhir kondisi perulangan yang berfungsi untuk mencetak alamat
IP perangkat, dimana program akan terus mengulang selama nilai i masih kurang
dari nilai panjang kelas IP dan nilai tersebut akan diiterasikan.
Hasilnya :
5.
Client
– Server TCP
a.
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
Pada
saat program dijalankan, program akan mengecek jika port 5000 sedang digunakan
atau tidak. Kemudian terdapat kondisi try yang memiliki server socket untuk
mengirim response, jika status pada serversocket bernilai null maka program
akan menghasilkan aplikasi server hidup. Lalu pada baris program try berikutnya
berfungsi untuk menerima permintaan client dengan clientsocket. Try selanjutnya
akan membandingkan dengan pesan yang diterima jika salam maka server akan
menulis salam juga, lalu jika pesan lainnya yang diterima server akan
mengirimkan maaf, saya tidak mengerti. Dan pada baris program terakhir untuk
menutup koneksi yang sedang berjalan.
b.
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
Program
ini merupakan program client untuk mengirim pesan atau permintaan data ke
server. Pertama program akan meminta memasukkan kata kunci, dan disini kata
kuncinya telah ditentukan yaitu salam. Namun jika user memasukkan kata kunci
yang lain maka client akan mendapatkan data dari server yaitu maaf, saya tidak
mengerti. kemudian terdapat sisi server dan client, bagian server untuk
mendeteksi adanya permintaan koneksi dari client, dan pada bagian client
berfungsi untuk membuat inisialisasi koneksi ke welcoming socket milik server. Selanjutnya
ada connection socket yang digunakan untuk berinteraksi satu sama lain untuk
mengirim dan menerima data.
Tidak ada komentar:
Posting Komentar