Socket Programming 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.

.Percobaan

Program 1
Program diatas merupakan cara membuat socket dengan menggunakan target host dan target port merupakan 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.

Program 2
Program diatas merupakan socket dengan menghubungkan dengan host www.linux.org dan menggunakan port 80. dengan menampilkan informasi dari website tersebut dengan mendecode data menggunakan utf-8

Program 3
Program diatas merupakan 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.

Program diatas merupakan 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

Server

Client


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.


Server

Client



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

Server
 
Client



Server

Client


Comments