Pemrograman Jaringan Dengan Java (Server)
Contoh Aplikasi Server :
SERVER
import
java.io.*;
import
java.net.*;
import
java.util.*;
public
class InfoServer{
private
final int INFO_PORT=50000;
private
String datafromClient;
/**
InfoServer Constructor */
public InfoServer(){
BufferedReader
inFromClient;
DataOutputStream
outToClient;
Socket
serverSocket;
try{
/* bind
port 50000 ke alamat lokal*/
ServerSocket
infoServer =
new
ServerSocket(INFO_PORT);
System.out.println("Server
telah siap...");
/* lakukan
perulangan tanpa henti,
* sampai
client memberikan perintah QUIT
*/
while
(true){
/* masuk ke
mode listening,
* server
siap menerima permintaan dari client
*/
serverSocket
= infoServer.accept();
System.out.println("Ada
client" +
"yang
terkoneksi!");
/* buat
input stream dari socket
* dan juga
sekaligus konversi dari
* byte
stream ke character stream
*
(InputStreamReader)
*
BufferedReader akan memudahkan
* dalam
pengolahan data karakter
*/
inFromClient
=
new
BufferedReader(
new
InputStreamReader(
serverSocket.getInputStream()));
/* buat
output stream ke socket*/
outToClient
=
new
DataOutputStream(
serverSocket.getOutputStream());
/* tulis
welcome ke client */
outToClient.writeBytes("InfoServer
versi 0.1\n"+
"hanya
untuk testing..\n"+
"Silahkan
berikan perintah TIME | NET | QUIT\n");
/* lakukan
perulangan sampai client
*
mengirimkan perintah QUIT
*/
boolean
isQUIT = false;
while
(!isQUIT){
/* baca
data dari client*/
datafromClient=inFromClient.readLine();
if(datafromClient.startsWith("TIME")){
outToClient.writeBytes(new
Date().toString()+"\n");
}else
if(datafromClient.startsWith("NET")){
outToClient.writeBytes(
InetAddress.getByName("localhost").toString()+
"\n");
}else
if(datafromClient.startsWith("QUIT"))
{
isQUIT=true;
}
}
outToClient.close();
inFromClient.close();
serverSocket.close();
System.out.println("Koneksi
client tertutup..");
}
}
catch(IOException
ioe){
System.out.println("error:"+ioe);
}
catch(Exception
e){
System.out.println("error:"+e);
}
}
/*program
utama*/
public
static void main(String[]args){
new
InfoServer();
}
}
Tool Output :
Tool completed successfully
Tidak ada komentar: