1 / 49

DASAR SOCKET PROGRAMMING

DASAR SOCKET PROGRAMMING . Tujuan. Mahasiswa memahami konsep aplikasi client server di jaringan . Mahasiswa memahami konsep pemprograman socket. Mahasiswa memahami jenis – jenis pemrograman socket. Mahasiswa mampu membangun program socket sederhana . Peralatan Yang Dibutuhkan.

wren
Télécharger la présentation

DASAR SOCKET PROGRAMMING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DASAR SOCKET PROGRAMMING

  2. Tujuan • Mahasiswamemahamikonsepaplikasi client server di jaringan. • Mahasiswamemahamikonseppemprogramansocket. • Mahasiswamemahamijenis – jenispemrograman socket. • Mahasiswamampumembangun program socket sederhana.

  3. Peralatan Yang Dibutuhkan • Beberapakomputer yang berfungsisebagai server. • Beberapakomputer yang berfungsisebagai client. • Hub/switch sebagaipenghubungjaringan. • Kabeljaringansecukupnya.

  4. DasarTeori Setiapaplikasi di jaringan, transaksinyadidasarkanpadakonsep client-server. Sebuah server dansebuahataubeberapa client yang meminta/request pelayananke server. Fungsi server sebagaipengatur resource yang ada, yang menyediakanpelayanandenganmemanfaatkanresource untukkebutuhan client. Proses ini (proses client-server) bisadijalankanpadasebuahkomputer (komputertunggal) ataubisajugasatukomputerberfungsisebagai server dansebuahataubeberapakomputerberfungsisebagai client.

  5. Transaksi Client – server

  6. Aplikasi client-server menggunakan protocol transport untuksalingberinteraksi. Ketika proses interaksiterjadi, suatuaplikasiharusmemberikaninformasi- informasisecara detail tentang : • Informasitentangapakahdia client atau server. • Pengirimmemberikaninformasitentangdata yang dikirim. • Penerimamemberikaninformasitentangdimana data diletakkan, dll.

  7. Antarmuka (interface) antara program aplikasidenganprotokolkomunikasipadasuatusistemoperasidisebut Application Program Interface (API). API didefinisikansebagaisuatukumpulaninstruksi yang mendukung proses interaksiantarasuatuperangkatlunakdengansuatuprotokol yang digunakan

  8. Padamesinkeluarga Linux, socket terintegrasidengan I/O sehinggaaplikasi yang berkomunikasidengan socket, carakerjanyasamadengansuatuaplikasi yang mengaksesperalatan I/O. Olehkarenaituuntukmemahamicarakerja socket padaLinux, sebelumnyaharusjugamemahamifasilitas I/O padaLinux

  9. AplikasiJaringan

  10. Padasaatsuatuaplikasiberkomunikasi, awalnyaaplikasimembuatsocketbaru, makapadaaplikasitersebutakandiberikannomer yang digunakansebagaireferensi socket. Jikaadasuatusistem yang menggunakannomerreferensisocket tersebut, makaakanterjalinsuatujaringankomunikasiantarkomputersebaik transfer data lokal

  11. Untukberkomunikasidengan server, client harustahunomor IP server begitujuganomor port yang dituju, nomor port menunjukkan service yang dijalankan. Contoh port 23 untuk Telnet Server, port 25 untuk Mail Server dan port 80 untuk Web Server. Dalamhaliniaplikasi di client sudahmengetahui port yang akandituju. Contoh program aplikasi di client yang meminta service di server adalah ftp, telnet, ssh. Untukmelihat service bisadilihatpada file/etc/services. Program yang berjalan di server, akanberjalansepanjangwaktu (disebutsebagai daemon) sampaimesin/service dimatikan, menunggu request dari client sesuai service yang diminta.

  12. Menggunakan Port untukidentifikasiservice

  13. Jadi Socket adalahmekanismekomunikasi yang memungkinkanterjadinyapertukaran data antar program atau proses baikdalamsatumesinmaupunantarmesin. Gaya pemrogramansoketsendiriberawaldarisistem Unix BSD yang terkenaldengankepeloporannyapadabidangpenangananjaringan, sehinggaseringdisebut BSD Socket. Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2 tahun 1983 sebagaikelanjutandariimplementasiprotokol TCP/IP yang munculpertama kali padasistem Unix BSD 4.1 padaakhir 1981. Hampirsetiapvarian Unix dan Linux mengadopsi BSD Socket

  14. Linux menggunakanparadigma open-read-write-close. Sebagaicontoh, suatuaplikasipertamaharusmemanggil open untukmenyiapkan file yang akandiakses. Kemudianaplikasitersebutmemanggil read atau write untukmembaca data dari file ataumenuliskan data ke file. Setelahitu close dijalankanuntukmengakhiriaplikasi yang digunakan

  15. Interface soketdalamberkomunikasi

  16. Di dalamkotakmenunjukkan system call/function yang dibutuhkanuntukkoneksi/komunikasi, misal socket(), bind(), listen(), connect(), dll. Secaragarisbesarlangkah–langkah yang dilakukanpada client dan server adalahsebagaiberikut :

  17. Langkah – langkahdasar di client : • Membukakoneksi client ke server, yang di dalamnyaadalah : • Membuat socket denganperintah socket() • Melakukanpengalamatanke server. • Menghubungi server dengan connect() 2. Melakukankomunikasi (mengirimdanmenerimadata), denganmenggunakanperintah write() dan read( ) 3. Menutuphubungandenganperintah close();

  18. Langkah – langkahdasar di server : • Membuat socket denganperintah socket() • Mengikatkan socket kepadasebuahalamat network denganperintah bind() • Menyiapkan socket untukmenerimakoneksi yang masukdenganperintah listen() • Menerimakoneksi yang masukke server denganperintah accept() • Melakukankomunikasi (mengirimdanmenerima data), denganmenggunakanperintah write() dan read( )

  19. StrukturPengalamatan Jaringankomputerdalammelakukanpengiriman data bisadiilustrasikansebagaipengirimansurat. Supayasuratbisaterkirimsecarabenarmakaalamatpengirimdanpenerimaharustertulisdenganjelasdanlengkap. Begitujugadalamkoneksi di socket, diperlukan variable yang dipakaiuntukmenyimpan address client dan server. Variable yang dipakaiberupa structure sockaddrdansockaddr_inpada include socket.h di direktory /usr/include/sys. Address iniakandipakaipadawaktumelakukan connect(), bind() dan accept().

  20. Structure yang dipakai

  21. Contohpemakaianstruktur

  22. Langkah – Langkah Program di Client 1. Berikutiniadalahprosedurpembukaankoneksi client ke server padahostname:porttertentu. Di dalamnyatermasukmembuat socket, melakukanpengalamatanke server danmelakukankoneksike server denganperintahconnect()

  23. Langkah demi langkahkoneksi client ke server adalahsebagaiberikut : a. Membuat socket dengan perintah socket() • IF_INETmenunjukkanbahwa socket dihubungkandenganprotokol internet. • SOCK_STREAM menunjukkanbahwa program inimemakai stream socket/TCP, yang berarticonnecton oriented.

  24. b. Selanjutnyasetelahmembuat socket melakukanpengalamatanke server

  25. c. Melakukan keneksi keserver dengan perintah connect()

  26. 2. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read( ) 3. Menutuphubungandenganperintah close();

  27. Langkah – langkah Program di Server • Melakukanprosedurpembukaankoneksi yang di dalamnyaberupalangkah–langkah : membuat socket, mengikat socket, menyiapkan socket menerimakoneksi, pengalamatan socket

  28. Langkahmembuat socket, mengikat socket, menyiapkan socket menerimakoneksi, pengalamatan socket beradapadaprosedureopen_listenfd().

  29. Langkah demi langkahmembuatkoneksi di server adalahsebagaiberikut : • Membuat socket dengan perintah socket() • Melakukanpengalamatan

  30. Mengikatkan socket kepadasebuahalamatnetwork denganperintah bind()

  31. Menyiapkan socket untukmenerimakoneksi yang masukdenganperintah listen()

  32. Looping utamaadalahmenerimakoneksi, danmelakukankomunikasi data (mengirimdanmenerima)

  33. Langkah demi langkah looping utamaadalah : • Menerimakoneksi yang masukke server denganperintahaccept()

  34. Ilustrasiprosedur accept() jikadigambarkanadalahsebagaiberikut :

  35. Melakukankomunikasi (mengirimdanmenerima data), denganmenggunakanperintah write() dan read( ) • Menutup socket.

  36. TugasPendahuluan • Bagaimanakonsep Client Server dalamjaringankomputer • Jelaskansecarasingkatapa yang andaketahuitentangProtokol Transport. • Dalamprotokol transport terdapatduaprotokolutamayaitu TCP and UDP, jelaskanperbedaan TCP dan UDP. • Berikancontohaplikasi –aplikasi yang menggunakanprotokol TCP, danjelaskanbagaimanakerjaaplikasitersebut. • Jelaskanlangkahdanprinsipkerja socket programming untukkomunikasiduaarah

  37. Percobaan • Dengan memakai editor vi tuliskan kembali program di bawah ini. Ada dua bagian program,client dan server. Simpan sesuai dengan nama yang ada pada comment program

  38. client.c

  39. client.c

  40. client.c

  41. server.c

  42. server.c

  43. server.c

  44. server.c

  45. server.c

  46. Jalankanprogram tersebut, output apa yang dihasilkandari program tersebut. • Berikankomentartiapbarispada program tersebutapamaksuddankegunaanperintahdiatasbiladihubungkandengan socket datagram. • Buatlahprogram memakai datagram socket yang bisamengirimkan data posisijam client sekarangke server

More Related