Saat
ini, penulis akan membahas mengenai cara membangun aplikasi Client-Server
TCP sederhana dengan menggunakan Java. Adapun langkah - langkahnya adalah
sebagai berikut :
1. Ketikkan kode sumber (source code) pada Notepad, Editplus, atau IDE lainnya, dan saya memilih menggunakan Notepad++ sebagai text editor. Pada aplikasi ini dibutuhkan dua source code, yang masing-masing saya beri nama simpleClient.java (untuk coding server) dan simpleServer.java (untuk coding client). Adapun source code-nya adalah sebagai berikut :
Coding 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();
}
}
}
Coding 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);
}
}
2. Kemudian simpan kedua
program tadi pada direktori mana saja, dan saya menyimpannya di direktori
"D:\tugas progjar\D1-5".
3. Setelah disimpan, kemudian buka 2 jendela cmd (command prompt) pada menu Start > Accessories > Command Prompt atau langsung ketikkan cmd pada menu Run untuk mengkompile dan menjalankan program tersebut. Pada masing-masing cmd, ketikkan D: [enter] cd tugas progjar [enter] cd D1-5 [enter]
maka root direktori akan berubah menjadi " D:\tugas progjar\D1-5" kemudian compile program tersebut dan jalankan dengan cara sebagai berikut :
Output Server
Output Client
Pada
nomor 1 Gambar cmd Server menunjukkan bahwa aplikasi server telah hidup dan
sudah dapat menerima interaksi dari Client berupa kata "salam" (lihat
nomor 3 pada Gambar cmd Client), sedangkan nomor 2 Gambar cmd Server
menunjukkan bahwa aplikasi server telah hidup kembali dan siap menerima
interaksi dari Client lagi, namun ketika Client mengetikkan selain kata
"salam", misalkan kata "haiii vyan" maka respon Server akan
berbeda (lihat nomor 4 pada Gambar cmd Client) dan pada Gambar cmd Client
menunjukkan bila Client mengetikkan kata selain "salam" maka Server
tidak akan mengerti dan memberikan respon "Maaf. Saya tidak
mengerti".
0 komentar:
Posting Komentar