Rabu, 10 Juni 2015

Aplikasi client-server TCP sederhana

Tugas Pemrograman Jaringan : Aplikasi client-server TCP sederhana

Pembuatan beberapa contoh program untuk mengecek ip, nama komputer, mengganti nama komputer dengan ip, menampilkan host name dan ip address, membuat aplikasi client-server TCP sederhana menggunakan bahasa pemrograman java.


Mendapatkan ip yang sedang digunakan:

import java.net.*;
public class AmbilIP {
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();
}
}

Output Program :

Logika Program :

Untuk listing program yang pertama ini digunakan untuk menampilkan IPaddress yang ada pada komputer. Program mengimport java.net, kemudian membuat class dengan nama coba1(AmbilIP), perintah yang selanjutnya program akan mendeklarasikkan InetAddress host benilai null kemudian host yang akan didapatkan dari nilai InetAddress host dan terakhir pada byte ip didapatkan nilai dari hostAddress. Kemudian terdapat suatu perulangan for dimana berfungsi untuk pencetakan tulisan. Kondisi yang ada di dalam for akan mencetak tulisan yang ada pada IP address, yang memiliki titik (.), nilai angka IP, dan spasi ( )

 
Mendapatkan Nama host pc yang sedang digunakan:

import java.net.*;
public class NamaPC {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.println(“Nama komputer Anda: ” +
host.getHostName());
}
}

Output Get Host Name :

Logika Program :

digunakan untuk mencetak host name dari komputer. Pertama kali akan menginport java.net, untuk program ini menggunakan nama class NamaPC (coba2). Selanjutnya masuk pada pendeklarasian dimana bagian pendeklarasian adalah InetAddress host = null; dan host = InetAddress.getLocalHost(); maksudnya adalah InetAddress host bernilai null dan host didapatkan dari nilai InetAddress pada localhost. Kemudian terakhir kali akan mencetak hostname secara otomatis dengan perintahhost.getHostName().

 
Mendapatkan IP lain yang ada dikomputer yang sedang digunakan:

import java.net.*;
public class AmbilIPLain {
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());
}
}
Output Get Other IP :

Logika Program :

Program diatas digunakan untuk IP lokal dengan IP komputer yang lain dimana penjelasannya adalah berikut ini. Program akan menginport java.net dan masuk pada nama class yang dibuat yaitu AmbilIPLain. Untuk program ini terdapat kondisi if dimana jika program nilainya lebih besar sama dengan 0 maka cetak nama pemakai dan IPtoName lalu program akan kembali ke semula dan program akan mendeklarasikkan String host yaitu 0 dan InetAddress address bernilai null. Kemudian program akan mengulang ke bagian address yang terdapat di InetAddress pada host kemudian apabila perulangan tersebut tidak terpenuhi maka akan mencetak invalid IP – malformed ip.
Untuk hasil output ini pada saat menjalankan program masukkan terlebih dulu IPAddress kemudian host name dari komputer. Jika sudah maka jalankan kembali program java tersebut maka host name tersebut akan terganti dengan IP. Dan akan mencetak IP komputer yang lain yaitu 10.189.46.244 dengan host name 10.189.46.244

Berikut adalah contoh program untuk 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();
}
}
Program NsLookup :

Logika Program:
Pada aplikasi ini akan menampilkan NsLookup yaitu menampilkan host name dan ip address yang ada pada laptop saya. Untuk penjelasan dari program adalah sebagai berikut ini, program akan mengimport java.net kemudian program akan masuk ke dalam class program yang bernama NsLookup. Pada program utama ini akan mencetak Pemakai : Java NsLookup hostname kemudian aka mendeklarasikan String host adalah 0 dan InetAddress address bernilai null kemudian apabila host tidak dikenal maka akan tampil Unknown host. Untuk bagian listing byte ip nilainya didapat dari address lalu apabila i > 0 dan i
Sehingga pada output akan mencetak host name yaitu hpmini-pc dan ip address yaitu 10.189.46.255

Berikut adalah contoh program Server:

import java.io.*;
import java.net.*;
public class CobaServer {
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();
}
}
}

Aplikasi Server :

Logika Program :

Listing programvdiatas merupakan listing untuk sebuah komputer yang dijadikan server dimana server sebagai pusat dari semua client. Saat program server berhasil untuk dijalankan maka akan muncul pesan “Aplikasi Server Hidup…”

Berikut adalah contoh 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);
}
}
}




Tidak ada komentar:

Posting Komentar