Implementasi java.net pada aplikasi java berbasis jaringan

Senin, Mei 9


Pada Java terdapat class java.net yang dapat digunakan untuk mengimplemantasikan aplikasi berbasis jaringan. Berikut adalah beberapa contoh implementasi dari class java.net tersebut:

  • Mendapatkan Alamat IP Local
 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();  
      }  
 }  

Logika:
inti dari program diatas adalah kita membuat sebuah objek dari class InetAddress untuk kemudian dengan objek tersebut kita akan memanggil method getLocalHost() pada class tersebut untuk mendapatkan alamat IP local komputer kita.

Output:



  • Mendapatkan Host Name Komputer
 import java.net.*;  
 public class getName {  
      public static void main(String args[]) throws Exception {  
           InetAddress host = null;  
           System.out.println("Nama komputer Anda: " +host.getHostName());  
      }  
 }  

Logika:
sama seperti program sebelumnya, inti dari program diatas adalah kita membuat sebuah objek dari class InetAddress untuk kemudian dengan objek tersebut kita akan memanggil method getHostName() yang ada pada class tersebut, namun kali ini untuk mendapatkan Host Name komputer kita.

Output:



  • Mendapatkan Host Name berdasarkan IP
 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());  
      }  
 }  

Logika:
program diatas untuk menampilkan Nama PC saat kita sudah mengetahui IPnya. Pada program ini terdapat percabangan if untuk mengecek panjang array pada fungsi utama jika sama dengan 0 maka program akan mencetak "pemakaian : java IPtoName ". Program akan keluar/dimatikan dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Pada program ini juga terdapat try dan catch. Jika terdapat kesalahan maka program akan mencetak Invalid IP - malformed IP dan program akan keluar/dimatikan. Namun jika tidak ditemukan kesalahan maka program akan mencetak nama komputer user. 

Output:



  • Mendapatkan IP berdasarkan Host Name
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();
	}
}

Logika:
program diatas untuk menampilkan IP saat kita sudah mengetahui Nama PCnya. Pada program ini terdapat percabangan if untuk mengecek panjang array pada fungsi utama jika sama dengan 0 maka program akan mencetak "pemakaian : java NsLookup ". Program akan keluar/dimatikan dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Pada program ini juga terdapat try dan catch. Jika terdapat kesalahan maka program akan mencetak Unknown host dan program akan keluar/dimatikan. Namun jika tidak ditemukan kesalahan maka program akan mencetak IP Address. 

Output:



  • Aplikasi Client - Server Sederhana

- simpleServer.java

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


- simpleClient.java

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:
Source code diatas adalah untuk membuat aplikasi sederhana server dan client. Pertama jalankan simpleServer.java lalu tunggu beberapa detik hingga muncul tulisan Aplikasi Server hidup.. Lalu running simpleClient.java jika sudah tulis "salam" jangan yang lain karena jika menulis selain salam maka si Server akan menampilkan Saya gustav. Jika benar maka si Server akan menuliskan salam.

Output:




0 komentar:

Posting Komentar

 
dinding belakang © 2013 | Plantilla diseñada por Ciudad Blogger