- Aplikasi Client dan Server BerKomunikasi melalui Koneksi Soket (Socket Connection),
- Sebuah Soket merupakan sebuah Koneksi antara dua Aplikasi yang dapat berjalan pada dua mesin fisik yang berbeda (Client dan Server),
- Sebuah Client harus mengetahui Alamat IP (nama domain) dan nomor port TCP dari Aplikasi Server,
- Sebuah Port TCP adalah angka unsigned 16-bit yang merupakan aplikasi khusus Server. Sejumlah TCP port mengizinkan sebuah Client yang berbeda untuk terhubung pada mesin Server yang sama tapi berkomunikasi pada aplikasi server yang berbeda. Cat. 1 mesin server dapat memiliki beberapa aplikasi server, hal itu ditentukan dengan jumlah port TCP yang berada pada status “mendengarkan” (listen).
- Sejumlah Port TCP dari 0 hinga 1023 telah digunakan oleh servis yang sudah dikenal, cth. HTTP, FTP, SMTP, dll.
- Sebuah Client terhubung ke Server menggunakan kode:
Socket s=new Socket(“127.0.0.1”, 4242);
- Sekali terhubung, client dapat memperoleh Input dari server dan mengirim Output (Pesan) ke Server. Kode ini adalah Aliran Koneksi Level-Rendah (karena berbenruk bit-bit) : sock.getInputStream ( );
- Untuk membaca data teks dari Server, kita memerlukan BufferedReader yang terhubung dengan InputStreamReader. InputStreamReader terhubung dengan Socket (Server sebagai Sumber Pesan).
- InputStreamReader berperan sebagai “Jembatan” antara Bit-bit (Level Rendah) dari Socket (Server) ke bentuk karakter data (Level-Tinggi) di BufferedReader.
- Untuk Menulis teks / data ke Server, hubungkan PrintWriter ke OutputStream dari Soket. Gunakan method print( ) atau println( ) untuk menulis (mengirim) teks ke Server (Soket).
- Server menggunakan ServerSocket untuk MENUNGGU permintaan dari Client pada nomor port TCP tertentu.
- Ketika ServerSocket mendapatkan permintaan (dari client), ia “menerima (accept)” permintaan itu, kemudian membuat sebuah koneksi Soket dengan Client tsb.
