Jumat, 12 Juni 2015

Aplikasi Client Server Sederhana

1. GET IP ADDRESS

Program di bawah ini merupakan program yang dapat digunakan untuk mengecek IP komputer yang sedang kita pakai.

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

 
Jika kalian ingin mencoba program di atas, maka copy paste saja program di atas ke dalam notepad kalian. Lalu simpan dengan nama getip.java, setelah disimpan selanjutnya buka command prompt kalian, lalu compile program tersebut dengan cara mengetikkan javac getip.java. setelah program tersebut dicompile maka program tersebut sudah siap untuk dijalankan dengan mengetik java getip pada command prompt kalian. Setelah itu tampil output seperti gambar di bawah ini :
Pada line pertama terdapat syntax import java.net.*;, Sintax ini digunakan untuk mengimport semua library yang berada di dalam folder net pada folder java. Library yang diimport tadi akan digunakan pada program ini untuk menampilkan ip address komputer kita. Pada line kedua terdapat sintax public class getip {, pada syntax tersebut menyatakan bahwa kita membuat sebuah class dengan nama getip. Pada line ketiga terdapat syntax public static void main(String args[]) throws Exception {, syntax tersebut menyatakan hawa class getip adalah class utama pada program penampilan ip address tersebut sehingga file javanya diberi nama getip.java. InetAddress host = null; digunakan untuk mendeklarasikan InetAddress terhadap objek host yang memiliki nilai awal null. host = InetAddress.getLocalHost(); syntax ini menyatakan bahwa objek host di beri nilai yaitu InetAddress.getLocalHost(). byte ip[] = host.getAddress(); syntax ini menyatakan bahwa kita membuat sebuah variable yg bertipe data array byte yang bernama ip yang dimana isinya diambil dari host.getAddress(), artinya dia memanggil method getAddress pada objek host yang telah di deklarasikan tadi. Lalu dibuat perulangan untuk mencetak ip address computer tersebut.

 2. GET HOST NAME 
Program di bawah ini merupakan program yang dapat digunakan untuk mengecek nama komputer yang sedang kita pakai.
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());
}}
 
Berikut adalah hasil ketika kita menjalankan program getname tersebut.
Penjelasan program dan cara menjalankannya sama seperti pada program sebelumnya ( getip ). Yang membedakan adalah jika pada program getip menggunakan syntax host.getAddress(); untuk mengetahui ip computer yang sedang kita pakai, maka pada program getname menggunakan syntax host.getHostName(); untuk menampilkan nama computer yang kita pakai.

3. CHATTING SEDERHANA CLIENT - SERVER DENGAN SOCKET PROGRAMMING

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("tanda_seru") == 0) {
os.writeBytes("Asek, password benar");
} 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);
}
}
}


Untuk program ini kita membutuhkan 2 komputer untuk menjalankannya. 1 komputer bertindak sebagai server dan 1 komputer lainnya bertindak sebagai client. Pada sisi server save file yang bernama simpleServer.java sedangkan pada sisi client save file yang bernama simpleClient.java. Lalu compile program simpleServer.java di sisi server dan compile simpleClient.java di sisi client. lalu jalankan program simpleServer terlebih dahulu, setelah program simpleServer running maka running program simpleClient dengan cara java simpleClient <nama komputer server>.
Server
Client
 Server
 Client
 Server
 Client

Tidak ada komentar:

Posting Komentar