Laporan Pertemuan 11 Socket Programming Multirecipient

Modul 9 

Multirecipient


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. Setelah sebelumnya kita mempelajari beberapa metode untuk penanganan request dari banyak client ke server, maka muncul pertanyaan Bagaimana Jika kita akan mengirimkan data ke banyak penerima? Ada beberapa solusi yang dapat diterapkan diantaranya adalah menggunakan fasilitas yang disediakan oleh jaringan yaitu broadcast dan multicast. Dalam penerapannya metode broadcast dan multicast sendiri memiliki keterbatasan, yaitu:

■ Hanya UDP socket yang dapat melakukan broadcast dan multicast

■ Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN).

■ Multicast di seluruh Internet saat ini tidak didukung oleh sebagian besar penyedia layanan Internet.

    Broadcast merupakan pengiriman data dengan tujuan semua alamat yang berada dalam 1 jaringan. Aplikasi akan mengirimkan data ke alamat broadcast, apabila data dikirim ke alamat ini maka semua host yang berada dalam jaringan tersebut akan menerima data. Sebelum mengirimkan data ke alamat broadcast, maka kita harus meminta “izin” kepada sistem untuk melakukan broadcast dengan men-set opsi SO_BROADCAST harus pada sisi pengirim. Berbeda dengan broadcast, multicast merupakan pengiriman data dengan tujuan alamat group dalam 1 jaringan. Pada prakteknya dalam pemrograman tidak perlu set permission untuk multicast. Multicast sender dapat men set nilai TTL untuk mengirimkan datagram. Langkah-langkah yang harus dilakukan dalam pemrograman untuk melakukan broadcast maupun multicast pada dasarnya sama dengan pemrograman menggunakan UDP, namun pada broadcast perlu penambahan socket option SO_BROADCAST, sehingga sistem mengizinkan untuk melakukan broadcast.

Percobaan

Program 1: program multicast

1. Buatlah file baru

2. Kemudian ketikkan kode program berikut







3. Simpan file dengan nama multicast_client.py

4. Buatlah file baru

5. Kemudian ketikkan kode program berikut








6. Simpan file dengan nama multicast_server.py

7. Untuk menjalankan program diatas gunakan 3 buah terminal. Terminal 1 untuk menjalankan program multicast_server.py dan terminal 2 dan terminal 3 untuk menjalankan multicast_client.py. Jalankan terlebih dahulu multicast_client.py di terminal 2 dan terminal 3 kemudian jalankan multicast_server.py di terminal 1.




pada percobaan diatas server yang biasanya lebih dulu dijalankan agar mendapatkan message dari client tetapi pada modul ini client yang harus dijalankan ketika ingin mengirim pesan, pada ip client itu sama dengan server jadi server akan merespon jika client sudah mengirim pesan yang ingin disampaikan melalui multicast_group.


Program 2: Program Broadcast

1. Buatlah file baru

2. Kemudian ketikkan kode program berikut





3. Simpan file dengan nama broadcast_server.py

4. Buatlah file baru

5. Kemudian ketikkan kode program berikut





6. Simpan file dengan nama broadcast_client.py

7. Untuk menjalankan program diatas gunakan 3 buah terminal. Terminal 1 untuk menjalankan program broadcast_server.py dan terminal 2 dan terminal 3 untuk menjalankan broadcast_client.py. Jalankan terlebih dahulu broadcast_client.py di terminal 2 dan terminal 3 kemudian jalankan broadcast_server.py di terminal 1






pada percobaan ini client mengirim pesan melalui network secara bersamaan dan pada server menerima pesan dari semua yang menggunakan subnet mask 255.255.255.255.

Comments

Popular posts from this blog

Praktikum 15 - Threat Modeling

Pertemuan 12 Socket Programming Gui dengan Python