Membuat http Server Sederhana dengan Java

pic2_resize.JPG

Tugas Praktikum Pemrograman Jaringan dan Piranti Bergerak yang kedua adalah membuat sebuah http server sederhana di localhost. Dengan memanfaatkan fungsi SocketServer, maka dapat dibuat sebuah server yang akan menunggu “panggilan” pada port 80 (HTTP). Dan akan mengirimkan kode html ketika “dipanggil”.

SocketServer bekerja dalam sebuah looping yang terus menerus untuk menunggu adanya koneksi ke port 80 pada localhost. Ada 4 constructor pada SocketServer antara lain:

  1. public ServerSocket(int port) throws BindException, IOException
  2. public ServerSocket(int port, int queueLength) throws BindException, IOException
  3. public ServerSocket(int port, int queueLength, InetAddress bindAddress) throws IOException
  4. public ServerSocket( ) throws IOException // Java 1.4

Dalam java, untuk membuat sebuah server dapat dilakukan cara sebagai berikut:

  1. Sebuah ServerSocket yang baru dibuat dalam sebuah port tertentu (dalam hal ini port 80) menggunakan constructor dari sebuah SocketServer.
  2. Kemudian ServerSocket menunggu sampai adanya koneksi yang datang melalui port yang sudah ditentukan sebelumnya menggunakan fungsi accept().
  3. Kemudian tergantung dari tipe server, baik menggunakan fungsi getInputStream(), fungsi getOutputStream(), atau kedua fungsi secara bersama-sama untuk mendapatkan input dan output stream dalam rangka berkomunikasi dengan client.
  4. Server dan client berkomunikasi/berinteraksi sampai waktunya memutus koneksi.
  5. Server, Client atau keduanya memutus koneksi
  6. Server kembali ke langkah 2 dan menunggu sampai adanya koneksi selanjutnya.

Dan berikut attachment source kode yang saya ambil dari modul praktikum dengan sedikit modifikasi agar dapat memenuhi persyaratan sebagai sebuah http server

Serverku.java

Mohon koreksi bila ada kesalahan.

7 thoughts on “Membuat http Server Sederhana dengan Java

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.