Laporan Socket Programming TCP pada Pertemuan 5

Modul 4
Pemrograman Socket dengan TCP

Dasar Teori
Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Server berfungsi sebagai pengatur sumber daya yang ada. Server menyediakan layanan untuk kebutuhan client dengan memanfaatkan sumber daya yang ada. Proses client-server dapat dijalankan pada sebuah komputer tunggal atau dapat juga satu komputer berfungsi sebagai server dan satu atau beberapa komputer berfungsi sebagai client.
Socket pertama kali diperkenalkan oleh unix BSD, sehingga sering disebut sebagai socket BSD. Socket merupakan antarmuka antara application process dan transport layer. Socket merupakan mekanisme yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin.

Langkah – langkah dasar di client :
(a) Membuka koneksi client ke server, yang di dalamnya adalah :
▪ Membuat socket dengan perintah socket()
▪ melakukan pengalamatan ke server.
▪ Menghubungi server dengan connect()
(b) Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan
perintah write() dan read()
(c) Menutup hubungan dengan perintah close();

Langkah – langkah dasar di server :
(a) Membuat socket dengan perintah socket()
(b) Mengikatkan socket kepada sebuah alamat network dengan perintah bind()
(c) Menyiapkan socket untuk menerima koneksi yang masuk dengan perintah listen()
(d) Menerima koneksi yang masuk ke server dengan perintah accept()
(e) Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read()

Berikut gambaran interaksi client-server melalui socket:

Percobaan
Pada program 1 cara membuat socket dengan menggunakan target host dan target port yaitu inputan dari user, menggunakan konstanta Address Family AF_INET yaitu untuk IPv4, dan konstanta Socket Type menggunakan SOCK_STREAM yaitu Connection-based, diurutkan, reliable dan komunikasi dua arah.











Pada program 2 socket dengan menghubungkan host www.linux.org dan menggunakan port 80 serta menampilkan informasi dari website tersebut dengan mendecode data menggunakan utf-8











Pada program 3 server yang memproses request dari client, ketika client sudah connect ke server program akan terhubung kemudian server akan memproses request dari client dengan output print dari data decode utf-8 dan waktu server time ke client.








Pada program 4 client yang menginputkan sesuatu yang akan dikirimkan kepada server. User menghubungkan dengan memasukkan hostname dan port, disini digunakan default saja yaitu localhost dan port 12345 kemudian menginputkan payload dan menerima waktu dari server.









Latihan
1. Buatlah program client dan server dimana client dapat menerima pertanyaan dari server dan mengirimkan kembali jawaban dari user ke server




2. Buatlah program client dan server dimana server menyediakan layanan perhitungan luas bangun datar (persegi, persegi panjang, segitiga), client dapat memilih jenis bangun datar dan mengirimkan informasi ukuran (sisi untuk persegi, panjang dan luas untuk persegi panjang dan segitiga) untuk perhitungan, kemudian menampilkan hasil dari server.



















3. Tambahkan error handling pada program tcp_server3.py, tcp_client3.py, latihan1 dan latihan2

Comments

Popular posts from this blog

Praktikum 15 - Threat Modeling

Pertemuan 12 Socket Programming Gui dengan Python