Arsitektur Client- Server (2)
Multiplexing
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.
Problem : dari soket mana server harus menerima koneksi atau menerima pesan?
Solution : select()
select() merupakan sebuah fungsi sistem yang memungkinkan programmer
untuk menentukan socket descriptor yang akan digunakan. menetapkan daftar deskriptor untuk memeriksa operasi I / O yang tertunda blok sampai salah satu deskriptor siap. Returns which descriptors are ready
Preforking
Preforking adalah Membuat proses child dengan jumlah tertentu pada saat aplikasi dimulai. Preforking membatasi semua cost yang terkait dengan pembuatan child process ke bagian inisialisasi aplikasi ketika sebuah client terkoneksi, maka proses yang menanganinya telah terbentuk. Fungsi accept() tidak dipanggil pada parent process, tapi pada setiap child process. Listening socket descriptor tidak di close di child process
Comments
Post a Comment