Monday, March 11, 2013

Client-Server Socket Programming - Jaringan Komputer

Setelah dua postingan sebelumnya, saya membahas mengenai tools yang digunakan dalam perkuliahan Jaringan Komputer, sekarang saya akan menge-share hasil kodingan mengenai Client Server sederhana menggunakan Netbeans (berbasis Java). Let's start..

Server

package 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 mentariqueenglossyta
 */
public class Server {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        int port = 1234;
        ServerSocket server = new ServerSocket (port);
     
        while(true){
            try
            {
                Socket socket = server.accept();
             
                ObjectInputStream inp = new ObjectInputStream(socket.getInputStream());
                String message = (String) inp.readObject();
             
                ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
                System.out.println(message);
             
                if(message.equals("user")||message.equals("admin"))
                {
                    out.writeObject("Selamat Datang " + message);
                }
                else
                {
                    out.writeObject("Maaf anda tidak memiliki hak akses");
                }
            }
            catch(ClassNotFoundException ex)
            {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
            catch(IOException ex)
            {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
     
    }
}

Client

package client;

import com.sun.corba.se.spi.activation.Server;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author mentariqueenglossyta
 */
public class Client {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        try
        {
            InetAddress host = InetAddress.getLocalHost();
            Socket socket = new Socket(host.getHostName(), 1234);
            System.out.println("Apa username mu?");
            ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
            Scanner scan = new Scanner(System.in);
            String pesan = scan.next();
            out.writeObject(pesan);
            
            ObjectInputStream inp = new ObjectInputStream(socket.getInputStream());
            String message = (String) inp.readObject();
            
            System.out.println(message);
            out.close();
            inp.close();
            socket.close();
        }
        catch(ClassNotFoundException ex)
        {
            Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(IOException ex)
        {
            Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

No comments:

Post a Comment