Proxy Server

_____________________
GET IP
_____________________
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; iif (i > 0) {
System.out.print(".");
}
System.out.print(ip[i] & 0xff);
}
System.out.println();
}
}


Penjelasan: 

Pada program diatas menggunakan package untuk berkomunikasi melalui suatu jaringan. nama classnya getIP yang bersifat public. Pada class ini terdapat statement throws yang artinya apabila ada kesalahan maka akan di lempar  ke statement selanjutnya. Kemudian adanya variable host yang nilainya masih null. Nilai variable null karena nilai tersebut akan diisi oleh alamat ip. Alamat ip tersebut akan disimpan di varible ip. 

Pada  proses perulangan menggunakan for. Perulangan for digunakan saat kita mengetahui berapa banyak perulangan yang akan kita lakukan. Didalam isi program tersebut i merupakan variabel yang dirubah, i lebih kecil dari panjang ip merupakan kondisi, dan i++ adalah pengubah dimana nilai i akan ditambah 1. Setelah itu program yang di proses akan di cetak dan program tersebut selesai.


______________________
GET NAME
______________________
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());
}
}

Penjelasan:

Pada program diatas menggunakan package untuk berkomunikasi melalui suatu jaringan. nama classnya GetName bersifat public. Pada class ini terdapat statement throws yang artinya apabila ada kesalahan maka akan di lempar  ke statement selanjutnya. Nilai variable kosong karena nilai tersebut akan diisi oleh nama pc atau komputer yang sedang digunakan. Nama tersebut akan disimpan pada variable host. Setelah variable host sudah mengambil dan menyimpan nama komputer yang sedang digunakan, maka langkah selanjutnya adalah mencetak atau menmpilkan variable hostname tersebut.
 

______________________
IP to Name
______________________
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());
}
}


Penjelasan:

Pada program diatas menggunakan package untuk berkomunikasi melalui suatu jaringan. nama classnya IptoName bersifat public. File ini bersifat public dan jika kondisi bernilai 0 maka program akan selesai dan mencetak kalimat dalam tanda kutib. Kemudian adanya variable host yang nilainya masih null atau kosong. Nilai variable kosong karena nilai tersebut akan diisi oleh nama pc yang sedang digunakan dengan cara memanggil IP yang sedang kita gunakan, kemudian akan dimasukkan ke try catch. Jika inputan yang diambil benar maka akan mencetak alamat IP dan hostname.


____________________
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; iif (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}
}


Penjelasan:

Pada program diatas menggunakan package untuk berkomunikasi melalui suatu jaringan. nama classnya NSLookup bersifat public. File ini bersifat public dan jika kondisi bernilai 0 maka program akan selesai dan mencetak kalimat dalam tanda kutib. Kemudian adanya variable host yang nilainya masih null atau kosong. Nilai variable kosong karena nilai tersebut akan diisi oleh nama pc yang sedang digunakan dengan cara memanggil IP yang sedang kita gunakan, kemudian akan dimasukkan ke try catch. Jika inputan yang diambil benar maka akan mencetak hostname dan alamat IP.
 

_______________________
CLIENT dan SERVER
_______________________


Program server:
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();
}
}
}

Program client:

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

Penjelasan:



import java.net.*;
import java.io.*;

Pendeklarasian library network dan input output.

public class chatserver{
public static void main(String args[]) throws Exception{

Pendeklarasian nama kelas chatserver dan fungsi main yang menggunakan perintah Exception.

ServerSocket ss=new ServerSocket(2000);
System.out.println(“Menunggu Klien mengirim pesan pertama, klien yang harus pertama kali mengirim pesan…”);
System.out.println(“* chat dilakukan 2 arah, server klien, n bergantian kirim pesan.”);

Pendeklarasian objek ss, pada program untuk mengokoneksikan antara Client dan Server dengan menggunakan class library ServerSocket dengan port 2000.

Socket sk=ss.accept();
System.out.println(“Klien telah masuk. happy chat! untuk berhenti, ketik stop pada klien.\n\n”);

Mengidentifikasi koneksi antara Client dan Server sudah terhubung.

BufferedReader cin=new BufferedReader(new InputStreamReader(sk.getInputStream()));
PrintStream cout=new PrintStream(sk.getOutputStream());
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
String s; 

Selanjutnya adalah pendeklarasian objek untuk media penginputan dan media penampilan untuk program ini.

while ( true ){
s=cin.readLine();
if (s.equalsIgnoreCase(“stop”)){
cout.println(“Bye”);
break;
}
System. out.print(“Client : “+s+”\n”);
System.out.print(“Server : “);
s=stdin.readLine();
cout.println(s);
}
ss.close();
sk.close();
cin.close();
cout.close();
stdin.close();

Pada bagian ini adalah proses perulangan yang berlangsung saat sedang chating dengan client. Apabila pada pihak client menuliskan stop, maka chat akan berakhir.

import java.net.*;
import java.io.*;

Pendeklarasian library network dan input output.

public class chatclient{
public static void main(String args[]) throws Exception{

Pendeklarasian kelas chatclient dan fungsi main yang menggunakan perintah Exception.

Socket sk=new Socket(“localhost”,2000);
BufferedReader sin=new BufferedReader(new InputStreamReader(sk.getInputStream()));
PrintStream sout=new PrintStream(sk.getOutputStream());
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
String s;

Pendeklarasian objek sk untuk menghubungi server yang menggunakan library socket dengan alamat tujuan localhost pada port 2000.

while ( true ){
System.out.print(“Client : “);
s=stdin.readLine();
sout.println(s);
s=sin.readLine();
System.out.print(“Server : “+s+”\n”);
if ( s.equalsIgnoreCase(“Bye”) )
break;}
sk.close();sin.close();sout.close();stdin.close();
}

Pada bagian merupakan perulangan yang berlangsung saat sedang chatting dengan server.


Progjar Tugas 1: GetIP, GetName, IPtoName, NSLookup, Client dan Server

- Copyright © - TeKaJe DotCom - Powered by Blogger - Designed by Tekaje Dotcom -