ada banyak rasa saat coding. ada keringat dan air mata dalam mencoding. keringat saat kau berusaha menyelami makna dalam setiap ilmu coding. dan air mata disaat tiada orang yang dapat membantumu, ketika program dalam keaadaan bugging. apapun rasa dalam mencoding. cobalah untuk mengerjakan sendiri. sampai kau bisa. dan benar-benar bisa.

Thursday 14 March 2013

Pemrograman Socket : Client -Server dengan java

Haloo sobat pembaca? masih cinta code ? hihi baiklah.. kali ini kita akan belajar bahasa baru yaitu Java. Oke, mungkin bagi sebagian besar Anda para programmer mungkin sudah mengenalnya lebih dulu. Namun, disini saya akan menshare apa yang telah saya dapatkan pada sesi praktikum Jaringan Komputer

Pada pembahasan ini, kita akan membuat sebuah program chatting. dimana chatting ini terjadi antara client dan server. Server akan memberikan pilihan menu pada client yaitu angka 1 dan 2. angka 1 menunjukkan pilihan percakapan chatting yang akan terjadi terus. dan pilihan 2 untuk menu mengakhiri percakapan. Program ini dapat dijalankan pada NetBeans

Berikut adalah code yang saya kerjakan pada sesi lab :3
a. Server

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

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 Ika Ayu Rahmania
 */
public class Server {

    /**
     * @param args the command line arguments
     */ 
    
    
    public static void main(String[] args) throws IOException {
       
        
        int port=1234;
        ServerSocket server = new ServerSocket(port);
        
        
        while(true){
            try {
                System.out.println("Tunggu pesan .....");
                Socket socket = server.accept();
                
                //System.out.println("Mulai :\n1. Lanjut\n2. Mutung dech \n");
                //System.out.println("1. Lanjut");
                //System.out.println("2. Mutung");     
                
                ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
                String sesuatu = (String) ois.readObject();
                
                
                ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
                
                
                if(sesuatu.equals("1"))
                {
                   oos.writeObject("Halo lagi apa nich\nMulai :\n1. Lanjut\n2. Mutung dech \n");
                   System.out.println("si Clien mengirimkan : ");
                   System.out.println(sesuatu);
                }
                else
                {
                    System.out.println(sesuatu);
                    System.out.println("si Clien mengirimkan : ");
                    oos.writeObject("Memutuskan hubungan kita :3 ");
                   
                    //break;
                }
                
//                ois.close();
//                oos.close();
//                socket.close();
                
                //System.out.println("Tunggu pesan dari client... ");
            } 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);
            }
        }


b. Client
/* Client
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package coba;

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 Ika Ayu Rahmania
 */
public class Client {

    /**
     * @param args the command line arguments1111
     */
    public static void main(String[] args) throws IOException, IOException, ClassNotFoundException {
        System.out.println("1. Lanjut\n2. Mutung dech \n");
        while(true)
        {
            try {
                // TODO code application logic here
            InetAddress host = InetAddress.getLocalHost();
            Socket socket = new Socket(host.getHostName(), 1234);



                ObjectOutputStream ngirim = new ObjectOutputStream(socket.getOutputStream());
                Scanner sc = new Scanner(System.in);
                String sesuatu =  sc.next();

                ngirim.writeObject(sesuatu);

                ObjectInputStream nerima = new ObjectInputStream(socket.getInputStream());
                String message = (String)nerima.readObject();

                System.out.println(message);
                nerima.close();
                ngirim.close();
                socket.close();
                if(message.equals("Memutuskan hubungan kita :3"))
                {
                    break;
                }



            }
             catch (ClassNotFoundException ex) {
                Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
            } catch (UnknownHostException ex) {
                Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}


dan berikut merupakan hasil screenshot apabila program tersebut dijalankan
 Hasil run diatas menunjukkan bahwa Client memilih angka 1 dan memutuskan untuk terus melakukan percakapan chatting
dan diatas adalah hasil ketika client memilih angka 2, yaitu memutuskan percakapan

No comments: