Tugas 4 Socket Programming
Multiplexing
Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Multiplexing adalah cara menangani beberapa klien dalam satu proses server. Aplikasi ini memungkinkan klien untuk terhubung ke server dan menambahkannya ke watch list. Watch list hanyalah sebuah array deskriptor soket. Kemudian sistem operasi memberitahu aplikasi klien (jika ada) yang perlu dilayani atau jika klien baru telah membuat koneksi. Untuk menangani permintaan dari client, server menggunakan fungsi select(). Fungsi select() merupakan sebuah fungsi sistem yang memungkinkan programmer untuk menentukan socket descriptor yang akan digunakan.
Preforking
Model ini sama dengan model forking, hanya saja model ini diperuntukan untuk jumlah client yang lebih banyak. kita tahu bahwa dengan banyaknya client maka waktu untuk membuat proses baru (untuk setiap client tersebut) semakin lama(menyebabkan delay). tetapi model ini dapat mengatasinya dengan proses pool. dengan proses pool, ketika ada koneksi dari client maka proses untuk setiap client tersebut sudah ada. proses pool, menjadikan salah satu child proses untuk menghandle koneksi sehingga tidak ada delay(client langsung terkoneksi). yang menjadi perbedaan lainnya antara forking dan preforking adalah penggunaan fungsi accept(), pada forking accept digunakan diparent proses, sedangkan pada preforking accept digunakan pada setiap child proses. fungsi accept() adalah untuk menerima koneksi.
Contoh program Multiplexing
Contoh program Preforking
Server
Client
Comments
Post a Comment