Jumat, 07 Juni 2013

Praktek 1 - Program Sederhana Client Server Berbasis Java

  • Berikut adalah contoh sebuah pemogramaan sederhana client-server dengan berbasis java.

  • Source Code untuk Server :

  •        /*
  •  * To change this template, choose Tools | Templates
  •  * and open the template in the editor.
  •  */

  • package tugas_server;
  • 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;
  • /**
  •  *
  •  * @author UNLA
  •  */
  • public class Tugas_Server {

  •     /**
  •      * @param args the command line arguments
  •      */
  •     public static void main(String[] args) {
  •         try {
  •             ServerSocket ss = new ServerSocket(5111);
  •             Socket s;
  •             String balasan;
  •             String balasan2;
  •             ObjectInputStream in = null;
  •             ObjectOutputStream out = null;
  •             s = ss.accept();
  •             out = new ObjectOutputStream(s.getOutputStream());
  •             out.flush();
  •             in = new ObjectInputStream(s.getInputStream());
  •             balasan = "";
  •             balasan2 = "";
  •             while (true) {
  •                 balasan = "";
  •                 balasan2 = "";
  •                 balasan = ReadMessage(in);
  •                 if (balasan.equals("exit")) break;
  •                 else {
  •                     if(balasan.equals("ini client"))
  •                     {
  •                     SendMessage("ini server, masukan username", out);
  •                     balasan2 = ReadMessage(in);
  •                     if (balasan2.equals("admin")){ SendMessage("Selamat Datang Admin", out);}
  •                     else {
  •                         if (balasan2.equals("user")){SendMessage("Selamat Datang User", out);}
  •                         else SendMessage("username tidak diketahui", out);
  •                         }
  •                     }
  •                     else
  •                     {
  •                         SendMessage("perintah tidak diketahui", out);
  •                 }
  •             }
  •             }
  •     in.close();
  •     out.close();
  •     s.close();
  •     ss.close();
  • }catch (IOException ex){
  •     Logger.getLogger(Tugas_Server.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(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
  •  }catch (ClassNotFoundException ex){
  •      Logger.getLogger(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
  •  }
  •  System.out.println(Reader);
  •  return Reader;
  •  }
  •  public static void SendMessage(String word, ObjectOutputStream out)
  •  {
  •      try{
  •          out.writeObject(word);
  •          out.flush();
  •      }catch (IOException ex){
  •          Logger.getLogger(Tugas_Server.class.getName()).log(Level.SEVERE,null,ex);
  •      }
  •         // TODO code application logic here
  •     }

  • }

  • berikut tampilannya ketika di running :


Source Code untuk Client :
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tugas_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 UNLA
 */
public class Tugas_Client {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException{
        Socket s=new Socket("10.0.0.6", 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();

        // TODO code application logic here
    }
public static void SendMessage(String word, ObjectOutputStream out)
{
    try{
        out.writeObject(word);
        out.flush();
    } catch (IOException ex){
        Logger.getLogger(Tugas_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(Tugas_Client.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex){
        Logger.getLogger(Tugas_Client.class.getName()).log(Level.SEVERE, null, ex);
    }
    System.out.println(reader);
    return reader;
}
}

berikut tampilannya ketika di running :


Tidak ada komentar:

Posting Komentar