Pemrograman Socket dengan UDP
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 terdapat beberapa langkah dasar yang harus dilakukan, yaitu sebagai berikut.
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 sendto() dan recvfrom()
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) Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah sendto() dan recvfrom()
Tugas Pendahuluan
1) Jelaskan cara kerja dari protocol UDP
Jawab: User Datagram Protocol(UDP) merupakan sebuah perangkat pengaturan yang mengirimkan data-data pada masing-masing komputer dalam bertukar informasi. Hal ini dapat menjadi lapisan dari transport TCP/IP. Dengan demikian akan tercipta sebuah komunikasi antar jaringan. Terdapat beberapa tahapan cara kerja UDP yang dilakukan, setiap tahapan kerja saling sinambung yaitu:
- Paket berisi client port dan port sumber berbentuk file text dikirim di dalam UDP Header
- Paket isi port client dan port sumber audio dikirim ke server dalam UDP Header
- Tujuan UDP membaca nomor port tujuan dan proses data
- Paket asli mempunyai port tujuan, sehingga server bisa mengirimkan kembali data ke FTFP Client
- Point 3 dan 4 berulang kembali ketika file audio dikirimkan client Ketika
- Ketika aplikasi ingin mengirim data, UDP tidak akan membuffer ataupun memfragmen tiap data yang masuk
- Karena data tidak mengalami prossesing data yang berbelit terutama karena tidak memfragmen data, maka jika data lebih besar daripada MTU, lapisan IP yang harus memfragmennya.
2) Jelaskan algoritma dasar socket programming dari sisi client dan server
Jawab:
1. Client membaca inputan dari keyboard, kemudian mengirimkan hasilnya ke server melalui socket-nya.
2. Server membaca data yang dikirim oleh client di connection socket
3. Server mengubah data menjadi huruf besar
5. Server mengirimkan data yang telah diubah menuju client melalui connection socket-nya.
5. Client membaca data yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data tersebut di monitor
PERCOBAAN
1. Program1
a. Program server
b. Program client
Output:
Tugas 1: Amatilah output yang dihasilkan, kemudian lakukan analisa terhadap program
tersebut diatas.
Jawab: Pada bagian ini terdapat bagian client dan juga server. Pada bagian server langkah pertama yang dilakukan adalah import socket yang mana pada bagian ini juga dibuatkan instance socket yang terdapat 2 parameter. Pada bagian sock.bind yang mana ini berguna untuk menghubungkan alamat ip dengan nomor port ke socketnya. Pada bagian ini juga terdapat While True yang didalmnya terdapat data, addr yang mana nanti juga terdapat print data dan juga "UDP server sending data". Pada bagian clientnya dilakukan juga import scoket dan juga terdapat 2 parameter. Pada bagian ini terdapat MAXSIZE = 4096 dan PORT nya 12345. Pada bagian programnya juga terdapat pengiriman pesan "Hello UDP server" yang nantinya akan dikirim ke socket.
2. Program2
a. Program server
b. Program client
Output:
Tugas 2: Amatilah output yang dihasilkan, kemudian lakukan analisa terhadap program
tersebut diatas.
Jawab: Pada bagian servernya terdapat argparse yang mana dilakukan terlebih dahulu import argparse dan socket, lalu terdapat MAX_BYTES = 65535 dan juga terdapat def server yang didalamnya while. Pada bagian ini terdapat SOCK_DGRAM yang kemudian kita sambungkan pada port yang telah kita buat dan nantinya akan ditampilkan pada server dan server akan menampilkan informasi mengenai waktu yang dikirimkan oleh client. Pada bagian client hampir sama dengan socket yang manan nantinya client akan mengirimkan data kepada server dan juga nantinya client akan mendapatkan dan menampilkan balasan dari server.
Latihan
1. Modifikasi udp_server2.py dan udp_client2.py menjadi server yang mengirimkan
informasi waktu ke client
Jawab:
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.
Jawab:
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.
Jawab:
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
Jawab:
0 comments:
Post a Comment