9 Juni 2013

Contoh Program Sederhana Client Server Java Netbean

 

Contoh Program Sederhana Client Server Java Netbean

Buatlah sebuah project aplikasi di Netbeans atau di eclipse (tergantung anda) dengan Source Code untuk Server adalah sbb:


package client_server;
/**
*
* @author dyra
*/
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Client_Server {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try{
//inisial objek server soket denga meset port 51111
ServerSocket ss = new ServerSocket(5111);
Socket s;
String balasan;
String balasan2;
//inisialisasi objek input dan ouput stream
ObjectInputStream in = null;
ObjectOutputStream out = null;
//fungsi bawaan dari class server sket yang mereturn objek soket
//tanda clent server terhubung
s = ss.accept();
//alokasi memori objek
out = new ObjectOutputStream(s.getOutputStream());
//fungsi bawaan objek output stream untuk membersihkan isi memory
out.flush();
//alokasi memory
in = new ObjectInputStream(s.getInputStream());
balasan = “”;
balasan2 = “”;
while (true) {
balasan = “”;
balasan2 = “”;
balasan=ReadMassage(in);
//program akan berhenti sampai input exit dari klien
if(balasan.equals(“exit”)) break;
else {
if(balasan.equals(“ini client”)) {
SendMassage(“ini server, masukan username”, out);
balasan2 = ReadMassage(in);
if(balasan2.equals(“admin”)) SendMassage(“Selamat datang admin”, out);
else
{
if (balasan2.equals(“user”)) SendMassage(“Selamat datang user”, out);
else SendMassage(“username tidak diketahui”, out);
}
} else {
SendMassage(“perintah tidak diketahui”, out);
}
}
}
//Menutup semua stream
in.close();
out.close();
s.close();
ss.close();
} catch (IOException ex) {
Logger.getLogger(Client_Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
//fungsi membaca input dari client
public static String ReadMassage(ObjectInputStream in)
{
String reader = “”;
try {
reader=(String) in.readObject();
} catch (IOException ex) {
Logger.getLogger(Client_Server.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Client_Server.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(reader);
//mereturn nilai string hasil bacaan
return reader;
}
//Fungsi untuk mengirim objek /data ke klient
public static void SendMassage(String word, ObjectOutputStream out)
{
try {
out.writeObject(word);
//bersihkan memori
out.flush();
} catch (IOException ex) {
Logger.getLogger(Client_Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
}



Apabila anda sudah membuat aplikasi servernya maka anda tinggal membuat aplikasi clientnya, dengan source code sebagai berikut:

package client;
import java.util.Scanner;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author dyra
*/
public class Client {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
Socket s = new Socket(“localhost”,5111);
ObjectInputStream in = null;
ObjectOutputStream out = null;
Scanner scanf = new Scanner(System.in);
String input=”";
String balasan;
String balasan2;
out=new ObjectOutputStream(s.getOutputStream());
out.flush();
in=new ObjectInputStream(s.getInputStream());
balasan=”";
balasan2=”";
while(true)
{
balasan=”";
balasan2=”";
input = scanf.nextLine();
SendMessage(input,out);
if(input.equals(“exit”))break;
else
{
balasan=ReadMessage(in);
if(balasan.equals(“ini server, masukkan username”))
{
input=scanf.nextLine();
SendMessage(input,out);
balasan2=ReadMessage(in);
}
}
}
in.close();
out.close();
s.close();
}
public static void SendMessage(String word, ObjectOutputStream out)
{
try{
out.writeObject(word);
out.flush();
}catch(IOException ex){
Logger.getLogger(Client.class.getName()).log(Level.SEVERE,null,ex);
}
}
public static String ReadMessage(ObjectInputStream in)
{
String reader=”";
try{
reader=(String)in.readObject();
}catch(IOException ex){
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null,ex);
}catch(ClassNotFoundException ex){
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null,ex);
}
System.out.println(reader);
return reader;
}
}


Setelah anda berhasil membuat aplikasi server dan clientnya, langsung saja anda running kedua aplikasi tersebut, berikut aplikasi server yang sedang running, dan statusnya listen.

serverisrunning

Coba jalankan aplikasi clientnya dan coba ketikan beberapa kasus seperti contoh dibawah ini.

Case1
clientcase1
Case2
clientcase2
Case3
clientcase3
Case 4
clientcase4
exit
client-serverexit

Tidak ada komentar:

Posting Komentar