Anda di halaman 1dari 4

Nama : Aditya Wahyu Tetuko

NRP : 152018031
IF - A

1. Sebutkan beberapa fungsi penting pada sisi (40 pts):


a. Socket creation and Destruction
b. Client
c. Server
d. Data transfer
2. Apa yang harus di perhatikan/di manage jika anda ingin menggunakan dua perangkat keras
(machine) yang berbeda untuk menjalankan socket programming (20 pts)
3. Jelaskan Data Transfer Over Connected Sockets - Send() And Recv() (20 pts)?
4. Pada kasus connectionless /data gram mode antara client dan server, jelaskan bagaimana
mekanisme hubungannya (20 pts)

Jawab :
1. a. The socket (3SOCKET) panggilan menciptakan socket dalam keluarga tertentu dan
jenis tertentu. s = socket (keluarga, tipe, protokol); Jika protokol tidak ditentukan, sistem
akan memilih protokol yang mendukung jenis soket yang diminta. Pegangan soket
dikembalikan. Pegangan soket adalah deskriptor file. Jenis soket ditentukan dalam sys /
socket.h . Jenis ini, SOCK_STREAM , SOCK_DGRAM , atau SOCK_RAW , didukung
oleh AF_INET6 , AF_INET , dan AF_UNIX . Contoh berikut membuat soket aliran di
keluarga Internet:
s = soket (AF_INET6, SOCK_STREAM, 0);Panggilan ini menghasilkan soket aliran.
Protokol TCP men yediakan komunikasi yang mendasarinya. Setel argumen protokol ke
0 , default, dalam banyak situasi. Anda dapat menentukan protokol selain default.
b. Fungsi dari client server adalah seseorang dapat membuat bisnisnya sendiri melalui
laman web yang dibuat sebelumnya. Sehingga client dapat membagikan secara cepat
untuk produk atau jasanya kepada user di seluruh dunia. User akan mendapatkan
informasi dengan cepat dari browser yang dipakai melalui laman web yang telah dibuat
oleh client.

c. . Fungsi server secara keseluruhan adalah sebagai layanan bagi client dan pengguna
untuk menyimpan, mengolah, menerima, mengirim berbagai data melalui beberapa
protokol khusus.

d. - Mensharing data.
- Menyediakan indirect atau implicit remote komputer.
- Menyediakan tempat penyimpanan bagi user.
- Menyediakan transfer data yang reliable dan efisien.
- FTP dapat digunakan untuk melakukan backup dan restore data Website dengan
mudah.

2. - Firewall, berfungsi untuk mengizinkan koneksi antar 2 komputer


- External IP pada router, supaya router bisa mengizinkan koneksi dari IP yang
bedara di luar koneksi local.
- Thread, berfungsi untuk menjalankan sebuah program pada 2 mesin yang
berbeda
3. Sementara subrutin send dan recv hampir identik dengan subrutin baca dan tulis,
argumen tambahan flags di subrutin send dan recv penting. Bendera, yang didefinisikan
dalam file sys / socket.h, dapat didefinisikan sebagai nilai bukan nol jika program
aplikasi memerlukan satu atau lebih hal berikut ini:
MSG_OOB Mengirim atau menerima data out-of-band.
MSG_PEEK Melihat data tanpa membaca.
MSG_DONTROUTE Mengirim data tanpa paket routing.
MSG_MPEG2 Mengirim blok data video MPEG2.
Data out-of-band dikhususkan untuk soket aliran. Opsi untuk mengirim data tanpa
perutean diterapkan ke paket keluar saat ini hanya digunakan oleh proses manajemen tabel
perutean, dan sepertinya tidak menarik bagi pengguna biasa. Namun, kemampuan untuk melihat
data merupakan minat umum. Ketika bendera MSG_PEEK ditentukan dengan subrutin recv,
semua data yang ada dikembalikan ke pengguna, tetapi diperlakukan sebagai masih belum
dibaca. Artinya, subrutin baca atau terima berikutnya yang diterapkan ke soket mengembalikan
data yang sebelumnya/
Abstraksi soket aliran mencakup konsep data out-of-band. Data Out-of-band (OOB)
adalah saluran transmisi independen secara logis yang terkait dengan setiap pasangan soket
aliran yang terhubung. Data out-of-band dapat dikirim ke soket secara independen dari antrian
penerimaan normal atau dalam antrian terima tergantung pada status opsi tingkat soket
SO_OOBINLINE.
Untuk mengirim pesan out-of-band, bendera MSG_OOB diberikan ke subrutin send atau
sendto. Untuk menerima data out-of-band, program aplikasi harus menyetel bendera MSG_OOB
saat melakukan subrutin recvfrom atau recv.
Program aplikasi dapat menentukan apakah penunjuk baca saat ini menunjuk ke tanda logis
dalam aliran data, dengan menggunakan panggilan ioctl SIOCATMARK.
Sebuah proses juga dapat membaca atau mengintip data out-of-band tanpa membaca terlebih
dahulu hingga tanda logis. Ini lebih sulit ketika protokol yang mendasari mengirimkan data
mendesak di-band dengan data normal, dan hanya mengirimkan pemberitahuan keberadaannya
sebelumnya (yaitu, protokol TCP yang digunakan untuk mengimplementasikan aliran di domain
Internet). Dengan protokol seperti itu, byte out-of-band mungkin tidak tiba ketika subrutin recv
dilakukan dengan flag MSG_OOB. Dalam hal ini, panggilan tersebut akan mengembalikan kode
kesalahan EWOULDBLOCK.
4. a. Sisi Server
• API socket () mengembalikan deskriptor soket, yang mewakili titik akhir. Pernyataan
juga mengidentifikasi bahwa protokol Internet versi 6 (AF_INET6) dengan UDP transport
(SOCK_DGRAM).
• Setelah deskriptor soket dibuat, bind () API mendapatkan nama unik untuk soket
tersebut.
Dalam contoh ini, pengguna menyetel s6_addr ke nol, yang berarti port UDP 3555 terikat ke
semua alamat IPv4 dan IPv6 di sistem.
• Server menggunakan recvfrom () API untuk menerima data itu. Recvfrom () API
menunggu
tanpa batas waktu sampai data tiba.
• API sendto () untuk menggemakan data kembali ke klien.
• Close () API untuk mengakhiri deskriptor soket terbuka.
b. Sisi Client
• API socket () untuk mengembalikan deskriptor soket, yang mewakili titik akhir.
Pernyataan juga
mengidentifikasi bahwa protokol Internet versi 6 (AF_INET6) dengan UDP transport
(SOCK_DGRAM).
• Dalam program contoh klien, getaddrinfo () API digunakan untuk mengambil alamat IP
server.
getaddrinfo () menangani string server yang diteruskan sebagai string alamat IPv6 yang valid
atau nama host server.
• Gunakan sendto () API untuk mengirim data ke server.
• Gunakan recvfrom () API untuk menerima data dari server
• Close () API untuk mengakhiri deskriptor socket terbuka.

Anda mungkin juga menyukai