.Dasar Teori
Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Merupakan cara tradisional untuk menangani multiple clients. Ketika sebuah aplikasi memanggil fork (), maka dibuat copyan dari calling program, sampai ke program counter (PC), dan child process baru dimulai dengan copyan tersebut
Hasil kembalian dari fork() : sekali dalam program pemanggil dan waktu berikutnya dalam child process. Nilai kembalian dalam program pemanggil adalah PID dari child process baru, sementara dalam child process itu adalah 0.
.Percobaan
Program 1
Server
Client
Output
Menggunakan library os dan socket, menetapkan localhost menjadi hostname dan port 6030, pada program ini menyambungkan client dengan server, bisa dilakukan lebih dari 1 client yang terhubung dengan server yang tiap client memiliki PID (Process ID)
Program 2
Server
Client
Output
Menggunakan library os dan socket, menetapkan hostname pada client menjadi hostname dan menggunakan port 6010. setelah client connect dengan server maka akan menjalankan message meminta inputan dari client, client menginput sesuatu dan mengirimkannya ke server
Program 3
Server
Client
Output
Server menunggu koneksi dari client, ketika client telah terkoneksi atau terhubung dengan server maka program akan menjalankan menampilkan hasil koneksi client dengan adressnya, kemudian server mengirimkan waktu ke client dengan fungsi ctime.
Latihan
1)Modifikasi program-program tersebut diatas, sehingga dapat mencatat/ menampilkan waktu yang dibutuhkan untuk mengirimkan data dari client
Program 1
Server
Client
Output
Program 2
Server
Client
Output
Program 3
Server
Client
Output
Server
Client
Output
3)Buatlah program client dan server menggunakan forking untuk permasalahan berikut: Sebuah perusahaan menggaji pegawai sales berdasarkan komisi. Seorang pegawai sales akan menerima $200/minggu ditambah 9% dari total penjualannya selama seminggu. Contoh: Andi berhasil melakukan penjualan sebesar $3000/minggu, maka total gaji yang diterima tiap minggu = $200 + 9%*$3000 = $470. Program harus menggunakan fungsi calculateSalary untuk menghitung gaji yang diterima oleh setiap pegawai. Client akan mengirimkan informasi nama pegawai, dan total penjualan selama seminggu. Kemudian server akan mengirimkan kembali total gaji yang diterima pegawai. Output disisi client nama pegawai, total penjualan dan total gaji yang diterima pegawai.
Server
Client
Output
Comments
Post a Comment