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

Popular posts from this blog

Praktikum 15 - Threat Modeling

Pertemuan 12 Socket Programming Gui dengan Python