Listing
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();
}
}
}
Logika
Pada sintaks pertama kita harus
mengimport java.net yang berfungsi sebagai dasar library yang digunakan untuk
pemograman jaringan pada java dan java.io untuk melakukkan input output pada
sintaks terdapat PORT bernomor 5000 port 5000 sendiri merupakan port yang
digunakan untuk mengguakan layanan TCP pada block try{ pertama sisi server akan
memberitahu apabila server jalan atau hidup dengan menampilkan pesan “aplikasi
server hidup” . lalu pada block try{ ke 2 berfungsi pada sisi server untuk menunggu
sebuah kata kunci yang akan diinput oleh client. pada blok try{ ke 3 sintaks
diatas berfungsi sebagai pengenal kata kunci dari client yang kata kunci nya
adalah “salam” apabila client memasukkan kata salam pada bagian client maka
server akan menjawab dengan kata “salam
juga “ tetapi apabila sisi client tidak memasukkan kata kunci yang benar maka
server akan menjawab dengan kata “ Maaf, saya tidak mengerti” dan akan
dikirimkan ke sisi server kata tersebut dan dan server terhenti. Pada blok try{
bagain akhir pada kodingan ini berfungsi
sebagai penutup koneksi server dan client
Output
Listing
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);
}
}
}
Logika
Program ini menggunakan package
yang sama dengan server dan menggunakan port 5000 untuk menjalankan TCP, pada blok
try{ pertama program sintaks yang ada di block tersebut berfungsi untuk membuka
koneksi ke server apabila gagal dalam membuka koneksi ke server maka program
akan memberitahukan ke user dengan mencetak kata unknown host atau error. pada
block try{ 2 program akan menanyakan kata kunci kepada user apabila benar
ataupun salah program akan menampilkan tanggapan dari server dan pada block
try{ terakhir program berfungsi sebagai penutup koneksi.
Output
Tidak ada komentar:
Posting Komentar