Sabtu, 27 Mei 2017

Pemrograman Jaringan: 5. Membangun Aplikasi Client-Server TCP Sederhana

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

simpleServer.java yang bertindak sebagai server. Server bertugas untuk menerima dan memproses request dari client. Saat program ini dijalankan, maka server akan aktif dengan mencetak "Aplikasi server hidup...". Saat server aktif, server menunggu masukan dari client berupa kata kunci yaitu "salam". Jika client menuliskan kata selain "salam", maka server akan merespon "Maaf, saya tidak mengerti". 



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

Program ini berperan sebagai client. Client memasukkan kata kunci "salam" dan diteruskan ke server. Jika kata kunci cocok, maka server akan merespon "salam juga".


output


Sumber :
http://achsan.staff.gunadarma.ac.id 

Pemrograman Jaringan: 4. NsLookup.java


Program di atas adalah NsLookup.java untuk mengetahui IP Address dengan cara menginput nama host pada saat menjalankan program.


Pada saat user menginput nama host, maka program akan langsung menampilkan IP Address yang dimaksud dengan method getAddress(). Namun apabila host salah atau tidak ada, maka akan mencetak "Unknown Host".

Sumber: 
http://achsan.staff.gunadarma.ac.id 

Pemrograman Jaringan: 3. IPtoName.java


Pada program di atas akan menampilkan nama komputer dari suatu IP Address yang dimasukkan. IP Address yang dimasukkan akan di cek dengan method getHostName() lalu program akan mencetak nama host dari pemilik IP Address tersebut.

Apabila IP Address yang dimasukkan salah atau tidak tersedia, maka komputer akan mencetak "invalid IP - malformed IP".

Sumber:
http://achsan.staff.gunadarma.ac.id 

Pemrograman Jaringan: 2. getName.java


getName.java berfungi untuk mencetak nama dari suatu host.
import java.net.* berfungsi untuk mengimport library yang berhubungan dengan jaringan
lalu definisikan class InetAddress dengan variabel host
lalu host akan menampung ip address dari komputer
kemudian program akan mencetak string dan nama dari host dengan method getHostName()

Sumber :
http://achsan.staff.gunadarma.ac.id/

Pemrograman Jaringan: 1. getIP.java

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

listing di atas adalah program getIP.java.
import java.net berfungsi untuk mendukung pemrograman socket/jaringan, public class dinamai dengan getIP. inetAddress host = null; sebagai pendefinisian variabel, host = InetAddress.getLocalHost(); variabel host menampung sementara IP Address yang didapatkan dari method getLocalHost(), variabel ip dengan tipe data byte array untuk menampung alamat dari host,
terdapat perulangan untuk mencetak IP Address secara dotted decimal.

Sumber:
http://achsan.staff.gunadarma.ac.id