Untuk
membuat program client-server tcp ini, memerlukan dua source code program. Satu
source code untuk server dan satu lagi untuk client. Berikut ini merupakan
source code yang digunakan:
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("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();
}
}
}
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);
}
}
}
Program
di atas tidak hanya menggunakan jaringan, tetapi juga menggunakan input dan
output untuk saling berkomunikasi. Pertama-tama, ketika program
simpleServer.java berhasil dieksekusi, yang dilakukan adalah checkServer = new
ServerSocket (TESTPORT);, jika berhasil aktif, maka akan muncul pesan
"Aplikasi Server Hidup ...". Kemudian lakukan eksekusi pada program
simpleClient.java. Program akan menghubungan diri dengan server yang telah
aktif dan menampilkan pesan "Masukkan Kata Kunci: ", kata kunci ini
terdapat pada program simpleServer.java, jika kata kunci sesuai, yaitu salam, maka server akan mengirimkan
pesan balasan "Selamat Datang ...". Namun apabila kata kunci tidak
sesuai, maka pesan yang akan tampil adalah "Maaf, saya tidak
mengerti" dan program berhenti melakukan eksekusi. Kata kunci ini dapat
diubah sesuai dengan kepentingan.
Kompilasi kedua program diatas dengan :
$
javac simpleServer.java
$
javac simpleClient.java
Jalankan kedua program tersebut dikomputer anda. Pertama jalankan
server, (buka
jendela console shell lebih dulu), dan tunggu koneksi client
$
java simpleServer
Untuk menjalankan program client buka jendela console shell baru dan
ketikkan.
$ java simpleClient
<nama-komputer-server>
Berikut ini adalah output dari program
client-server tcp:
No comments:
Post a Comment