Pada artikel ini akan membangun aplikasi client server TCP Sederhana, aplikasi ini menggunakan bahasa pemrograman Java, aplikasi ini di jalankan menggunakan 2 komputer tetapi pada kali ini saya menggunakan 1 komputer dan 1 komputernya lagi menggunakan virtual box. disisi server saya menggunakan windows 7 dan disisi client menggunakan windows xp, langsung saja kita praktekan.
langkah pertama membuat program server simpan dengan nama simpleServer.java,
import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
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 ex) {
ex.printStackTrace();
}
}
}
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
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 ex) {
ex.printStackTrace();
}
}
}
Kemudian membuat program client, simpan dengan nama 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);
}
}
}
Kemudian compile ke dua program di atas dengan cara ketik :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);
}
}
}
javac simpleServer.java
javac simpleClient.java
Jalankan kedua program tersebut
dikomputer anda. Pertama jalankan server, (buka
jendela cmd lebih
dulu), dan tunggu koneksi client
java simpleServer
Untuk menjalankan program client
buka jendela cmd baru dan ketikkan.
java simpleClient
<nama-komputer-server>
(Nama-komputer-server disini adalah ip address dari server)
setelah itu masukkan
Pada aplikasi client, masukkan
kata kunci yang diminta, yaitu “salam”. Perhatikan
apa terjadi kemudian di sisi
aplikasi Server maupun client. Coba juga Anda
memasukkan kata-kata yang lain.
0 comments:
Posting Komentar