Ini adalah thread mengenai, bagaimana cara membangun aplikasi Client-Server TCP secara sederhana dengan Java. Langkah - langkahnya adalah sebagai berikut :
1. Ketik listing program dibawah ini pada editplus++, atau IDE lainnya.
Aplikasi Server
1. Ketik listing program dibawah ini pada editplus++, atau IDE lainnya.
Aplikasi 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();
}
}
}
Aplikasi 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("Error io: " + e2);
}
//Menulis ke server
try {
System.out.println("Dari server: " + output);
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);
}
}
}
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("Error io: " + e2);
}
//Menulis ke server
try {
System.out.println("Dari server: " + output);
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. Jika kedua listing program diatas sudah selesai maka simpan dengan nama "SimpleServer.java" untuk Aplikasi Server dan "SimpleClient.java" untuk Aplikasi Client di direktori yang sudah ditentukan, contoh pada direktori "D:\workspace\ObtainIP\src".
3. Kemudian buka dua cmd (command prompt). Masing - masing akan dipakai untuk mengompilasi "SimpleServer.java" dan "SimpleClient.java".
4. Kompilasi pertama dilakukan pada file "SimpleServer.java". Di dalam cmd server, ketik perintah "javac SimpleServer.java" [enter] (untuk mengompilasi file menjadi program). Kemudian, ketik perintah "java SimpleServer" [enter] (untuk menjalankan program yang sudah di kompilasi). Sesudah itu aplikasi server pun telah hidup.
![]() |
Gambar 1. Server Hidup |
5. Lalu pada kompilasi ke dua dilakukan pada file "SimpleClient.java". Pada cmd client, ketik perintah "javac SimpleClient.java" [enter] (untuk mengompilasi file menjadi program java). Kemudian, ketikkan "java SimpleClient
![]() |
Gambar 2. Server Menerima Pesan |
![]() |
Gambar 3. Client Mendapat Pesan Balasan |
Ternyata pada cmd server menerima pesan yang dikirimkan oleh cmd client dan cmd client menerima pesan balasan dari cmd server. Tetapi jika cmd client mengirimkan pesan selain itu, maka cmd server akan mengirimkan pesan balasan "Maaf, saya tidak mengerti" kepada client.
![]() |
Gambar 4. Pesan dari Server |
Selamat Mencoba, dan Terimakasih sebelumnya.. :)
No comments:
Post a Comment