Pemrograman Socket dengan UDP

.Dasar Teori

Mekanisme yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. User Datagram Protocol (UDP) merupakan connectionless protocol yang cocok/ sesuai untuk aplikasi yang membutuhkan komunikasi yang efisien yang tidak memperhatikan packet loss. Untuk membuat sebuah aplikasi client-server dengan menggunakan protokol UDP

Cara kerja UDP adalah menggunakan Connectionless yaitu paket dikirim dari satu pihak ke pihak lain tanpa perlu membuat koneksi atau memutus koneksi. Paket tidak diberi nomor; Sehingga paket tersebut mungkin tertunda atau hilang atau mungkin sampai ditujuan tidak berurutan.

.Percobaan

Program 1
Mengimport library socket kemudian menentukan maxsize menjadi 4096, kemudian mendefinisikan variable sock sebagai socket dengan menggunakan family AF_INET dan datagram UDP yaitu SOCK_DGRAM. kemudian lakukan binding. Selanjutnya ada while loop pada server terdapat fungsi recvfrom yaitu menunggu koneksi dari client, jika terkoneksi maka akan mengirimkan data kepada client bahwa sudah tersambung. Pada sisi client terdapat fungsi sendto yaitu mengirimkan message kepada server kemudian menerima pesan dari server.

Program 2
Mengimport library socket dan argparse untuk parsing. Menginisialisasi MAX_BYTES menjadi 65535, kemudian dilakukan proses binding dengan IP Localhost dan port yang ditentukan atau defaultnya 1060 ketika sudah terhubung maka server akan mengirimkan address dan type data bytes long kepada client kemudian pada sisi client menerima pesan dari server dan mengirimkan pesan waktu kepada server.

Latihan
1) Modifikasi udp_server2.py dan udp_client2.py menjadi server yang mengirimkan informasi waktu ke client

2) Buatlah program client dan server dimana client dapat menerima pertanyaan dari server dan mengirimkan kembali jawaban dari user ke server (seperti latihan tcp). Port ditentukan melalui argument command line.

3) 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.

4)Buatlah program dimana client mengirimkan username dan password ke server, kemudian di sisi server dilakukan apakah username dan password yang dikirimkan oleh client valid atau tidak. Jika valid maka server akan merespon dengan mengirimkan konfirmasi bahwa login berhasil dengan menggunakan protocol UDP

Comments