Skip navigation


Sebelum ini gw gak pernah melakukan pemrograman socket dalam bahasa Java. Tapi sejak tugas progin yang terakhir memperbolehkan penggunaan Java untuk pemrograman socket, alhasil gw eksplorasi-eksplorasi dikit. Dan ternyata jauh lebih menyenangkan pemrograman socket di Java. Hehe.

Pertama-tama untuk mengenal socket di Java, kita bikin sebuah server yang menerima sebuah koneksi. Kodenya yang agak sederhana adalah di bawah.

package simpleserver1;

import java.net.*;
import java.io.*;

public class SimpleServer {

    public static void main(String[] args) throws IOException {

        //Membuat Server Socket
        ServerSocket serverSocket = null;
        try {
            //Mencoba untuk binding ke port 4444
            serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            System.exit(1);
        }

        //Membuat client Socket
        Socket clientSocket = null;
        try {
            //Mencoba menerima koneksi socket dari client
            clientSocket = serverSocket.accept();
        } catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        }

        //Membuat stream input/output dari client socket
        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

        //Menampilkan string yang dikirim oleh client
        System.out.println(in.readLine());
        //Mengirimkan string "Hello!" ke client
        out.println("Hello!");

        //Menutup koneksi dan stream
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
    }
}

Pada kode di atas, aplikasi akan berusaha melakukan listening pada port 4444. Dan socket akan blocking sampai ada koneksi pada port tersebut. Setelah itu aplikasi akan melakukan streaming data dengan client. Kalau pada pemrograman di C, streaming data disimulasikan dengan socket descriptor, di sini disimulasikan dengan PrintStream. Kalau pada C, streaming data akan mirip dengan penulisan ke file sedangkan pada Java akan lebih mirip dengan standard input output.

Untuk melakukan pengujian cukup dilakukan dengan menggunakan Telnet pada port 4444.

C:\Documents and Settings\Petra Barus>Telnet 127.0.0.1 4444
hello
Hello!
Connection to host lost!
C:\Documents and Settings\Petra Barus>

Kode bisa diambil di sini (as usual, rename extension to zip)

2 Comments

  1. mantabs gan,..
    sudah saya coba,…

  2. hmm, klo saya mau testnya pake 2 laptop yg di connect pake UTP gmna yah??

    misal: saya kirim pesan teks dari laptop A ke laptop B

    mmohon bantuan, thx b4 after brader🙂


3 Trackbacks/Pingbacks

  1. […] Java Socket Programming: Server Tebak-Tebakan Ditulis pada Mei 2, 2009 oleh petra Lanjutan dari yang sebelumnya. […]

  2. […] Posts Java Socket Programming: Sedikit PengenalanAboutSocket Programming di CManajemen MySQL dengan NetbeansTOKI : Pengenalan C/C++ – GCC, MinGW, […]

  3. […] Programming: Simple Client with GUI Ditulis pada Mei 5, 2009 oleh petra Kalau dipost yang ini dan ini, gw udah nyoba client menggunakan Telnet dan Command Line Application, sekarang gw bakal […]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: