SOCKET PROGRAMMING TCP Socket Programming INTRODUCTION INTRODUCTION Aplikasi

  • Slides: 62
Download presentation
SOCKET PROGRAMMING TCP Socket Programming

SOCKET PROGRAMMING TCP Socket Programming

INTRODUCTION

INTRODUCTION

INTRODUCTION Aplikasi di Jaringan, transaksinya didasarkan pada konsep client-server. Sebuah atau beberapa client meminta/request

INTRODUCTION Aplikasi di Jaringan, transaksinya didasarkan pada konsep client-server. Sebuah atau beberapa client meminta/request pelayanan ke server Aplikasi client-server menggunakan protocol transport untuk saling berinteraksi

INTRODUCTION Ketika proses interaksi terjadi, suatu aplikasi harus memberikan informasi secara detail tentang :

INTRODUCTION Ketika proses interaksi terjadi, suatu aplikasi harus memberikan informasi secara detail tentang : - Informasi tentang apakah dia client atau server - Pengirim memberikan informasi tentang data yang dikirim - Penerima memberikan informasi tentang dimana data diletakkan, dll

INTRODUCTION

INTRODUCTION

KONSEP SOCKET Antarmuka (interface) antara program aplikasi dengan protocol komunikasi pada suatu sistem operasi

KONSEP SOCKET Antarmuka (interface) antara program aplikasi dengan protocol komunikasi pada suatu sistem operasi disebut Application Program Interface (API) API didefinisikan sebagai suatu kumpulan instruksi yang mendukung proses interaksi antara suatu perangkat lunak dengan suatu protocol yang digunakan.

KONSEP SOCKET Pada mesin keluarga Linux, socket terintegrasi dengan I/O sehingga aplikasi yang berkomunikasi

KONSEP SOCKET Pada mesin keluarga Linux, socket terintegrasi dengan I/O sehingga aplikasi yang berkomunikasi dengan socket, cara kerjanya sama dengan suatu aplikasi yang mengakses peralatan I/O. Oleh karena itu, untuk memahami cara kerja socket pada Linux, sebelumnya harus juga memahami fasilitas I/O pada Linux.

KONSEP SOCKET

KONSEP SOCKET

KONSEP SOCKET Pada suatu aplikasi berkomunikasi, awalnya aplikasi membuat socket baru, maka pada aplikasi

KONSEP SOCKET Pada suatu aplikasi berkomunikasi, awalnya aplikasi membuat socket baru, maka pada aplikasi tersebut akan diberikan nomer yang digunakan sebagai referensi socket Jika ada suatu sistem yang menggunakan nomer referensi socket tersebut, maka akan terjalin suatu jaringan komunikasi antar komputer sebaik transfer data local.

KONSEP SOCKET

KONSEP SOCKET

KONSEP SOCKET Untuk berkomunikasi dengan server, client harus tahu nomor IP server begitu juga

KONSEP SOCKET Untuk berkomunikasi dengan server, client harus tahu nomor IP server begitu juga nomor 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

KONSEP SOCKET Dalam hal ini aplikasi di client sudah mengetahui port yang akan dituju.

KONSEP SOCKET Dalam hal ini aplikasi di client sudah mengetahui port yang akan dituju. Contoh : Program aplikasi di client yang meminta service di server adalah ftp, telnet, ssh. Untuk melihat service bisa dilihat pada file/etc/services

KONSEP SOCKET Program yang berjalan di server, akan berjalan sepanjang waktu (disebut sebagai daemon)

KONSEP SOCKET Program yang berjalan di server, akan berjalan sepanjang waktu (disebut sebagai daemon) sampai mesin/service dimatikan, menunggu request dan client sesuai service yang diminta.

KONSEP SOCKET

KONSEP SOCKET

PROCEDURE UTAMA SOCKET Client Meminta layanan. Langkah : A. Membuka koneksi client ke server,

PROCEDURE UTAMA SOCKET Client Meminta layanan. Langkah : A. Membuka koneksi client ke server, yang di dalamnya adalah : - membuat socket dengan perintah socket() - melakukan pengalamatan ke server - menghubungi server dengan connect()

PROCEDURE UTAMA SOCKET B. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write()

PROCEDURE UTAMA SOCKET B. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read() C. Menutup hubungan

PROCEDURE UTAMA SOCKET Server Menyediakan layanan. Langkah : A. melakukan prosedur pembukaan koneksi yang

PROCEDURE UTAMA SOCKET Server Menyediakan layanan. Langkah : A. melakukan prosedur pembukaan koneksi yang didalamnya berupa langkah-langkah : Membuat socket, Mengikat socket, Menyiapkan Socket, menerima koneksi, pengalamatan socket B. Looping utama adalah menerima koneksi, dan melakukan komunikasi data (mengirim dan menerima)

Tipe Socket

Tipe Socket

STREAM SOCKET Ciri Khas : Connection oriented socket Client dan server harus saling berkomunikasi

STREAM SOCKET Ciri Khas : Connection oriented socket Client dan server harus saling berkomunikasi sebelum transfer data. Pada stream socket dalam melakukan koneksi salah satu prosedur yang penting adalah accept(), yang dipakai untuk menerima koneksi dari client

UDP SOCKET Ciri Khas : connectionless socket Jika client mengirimkan data ke server, data

UDP SOCKET Ciri Khas : connectionless socket Jika client mengirimkan data ke server, data tersebut ada kemungkinan sampai ke server atau tidak. Untuk itu client menunggu sinyal ‘error free’ dari client.

UDP SOCKET Ciri Khas : Jika client tidak menerima sinyal ‘error free’ dalam suatu

UDP SOCKET Ciri Khas : Jika client tidak menerima sinyal ‘error free’ dalam suatu kurun waktu, maka client akan mengirimkan lagi data tersebut. Contoh aplikasi yang menggunakan datagram socket adalah tftp dan bootp.

Fungsi Rutin Socket

Fungsi Rutin Socket

 Accept : Menerima datangnya koneksi yang dibuat oleh socket Bind : Menandai Nama

Accept : Menerima datangnya koneksi yang dibuat oleh socket Bind : Menandai Nama local dari socket yang tidak berlabel Connect : Inisialisasi Socket tertentu

WINSOCK

WINSOCK

WINSOCK Winsock merupakan standar API jaringan. Ini dibuat untuk standar interface programming TCP/IP pada

WINSOCK Winsock merupakan standar API jaringan. Ini dibuat untuk standar interface programming TCP/IP pada semua versi dari Microsoft Windows termasuk Windows XP, Windows 2000, Windows NT, Windows 98/95, Windows CE, dan Windows 3. x

DEMO PROJECT 1 Tujuan Untuk mengetahui IP Address dan Nama Komputer pengguna yang terhubung

DEMO PROJECT 1 Tujuan Untuk mengetahui IP Address dan Nama Komputer pengguna yang terhubung ke dalam Jaringan

DEMO PROJECT 1 Model Sistem Untuk membuat project ini, mula kita harus menentukan apa

DEMO PROJECT 1 Model Sistem Untuk membuat project ini, mula kita harus menentukan apa yang akan dibuat. Untuk project kali ini jelas memakai Win. Sock.

DEMO PROJECT 1 Start Check Win. Sock DLL Get Host name Get IP Address

DEMO PROJECT 1 Start Check Win. Sock DLL Get Host name Get IP Address Show Hostname & IP Address End

WINSOCK IMPLEMENTASI PROGRAM Penggunaan Visual C++

WINSOCK IMPLEMENTASI PROGRAM Penggunaan Visual C++

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

WINSOCK

DEMO PROJECT 2

DEMO PROJECT 2

MENCARI IP ADDRESS 1. Perancangan Sistem Tujuan Untuk mengetahui IP Address suatu host yang

MENCARI IP ADDRESS 1. Perancangan Sistem Tujuan Untuk mengetahui IP Address suatu host yang diinputkan Model Sistem Prinsip kerja untuk membuat project ini yang berbasis aplikasi Win. Sock, dapat dilihat pada Next Slide :

MENCARI IP ADDRESS Model Diagram untuk Project 2 Check Input On Edit Box Get

MENCARI IP ADDRESS Model Diagram untuk Project 2 Check Input On Edit Box Get IP Address (host name as input) Convert to String Variabel Show IP Address

MENCARI IP ADDRESS Mula-mula dilakukan pengecekan inputan data berupa nama host. Setelah nama host-nya

MENCARI IP ADDRESS Mula-mula dilakukan pengecekan inputan data berupa nama host. Setelah nama host-nya di dapat, kita akan melakukan look-up pada DNS untuk mendapatkan IP Address dari nama host sebagai parameter input.

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS 2. Pada MFC App. Wizard, saat step 1 pilih aplikasi Dialog

MENCARI IP ADDRESS 2. Pada MFC App. Wizard, saat step 1 pilih aplikasi Dialog based dan step 2 tandai opsi Windows Sockets sehingga kita dapat mengakses Class Winsock. Kemudian tekan tombol Finish, maka pada akhir App. Wizard muncul tampilan seperti gambar berikut:

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS 3. Untuk tampilan desain GUI dapat dilihat modelnya seperti pada Gambar

MENCARI IP ADDRESS 3. Untuk tampilan desain GUI dapat dilihat modelnya seperti pada Gambar berikut

MENCARI IP ADDRESS 4. Setelah itu, buka Class Wizard dengan memilih menu View ->

MENCARI IP ADDRESS 4. Setelah itu, buka Class Wizard dengan memilih menu View -> Class Wizard atau tekan Ctrl+W

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS 5. Sekarang kita, memasuki session coding, pada saat Tombol Check di

MENCARI IP ADDRESS 5. Sekarang kita, memasuki session coding, pada saat Tombol Check di klik, maka kita akan melakukan pengecekan IP Address dari nama host yang dimasukkan oleh user. Arahkan mouse ke tombol check, klik ganda tombol tersebut sehingga akan muncul pop up, lalu gantilah nama fungsi tersebut dengan on. Check dan code-nya seperti berikut

MENCARI IP ADDRESS

MENCARI IP ADDRESS

MENCARI IP ADDRESS void CCheck. IPAddress. Dlg: : On. Check() { // TODO: Add

MENCARI IP ADDRESS void CCheck. IPAddress. Dlg: : On. Check() { // TODO: Add your control notification handler code here LPHOSTENT l. HOSTENTRY; m_c. Check. Btn. Enable. Window(FALSE); CWait. Cursor wait; Update. Data(TRUE);

MENCARI IP ADDRESS if(m_s. Host. Name. Is. Empty()) { Afx. Message. Box("Please, Insert Data

MENCARI IP ADDRESS if(m_s. Host. Name. Is. Empty()) { Afx. Message. Box("Please, Insert Data Example: wwww. yahoo. com"); m_c. Check. Btn. Enable. Window(TRUE); return; } l. Host. Entry=gethostbyname(m_s. Host. Name);

MENCARI IP ADDRESS if(l. Host. Entry==Null) { Af. Message. Box("Error to convert Host Name

MENCARI IP ADDRESS if(l. Host. Entry==Null) { Af. Message. Box("Error to convert Host Name to IP Address!!"); m_c. Check. Btn. Enable. Window(TRUE); return; } m_s. IPAddress=inet_ntoa(*(LPIN_ADDR) *l. Host. Entry> h_addr_list); Update. Data(FALSE); m_c. Check. Btn. Enable. Window(TRUE); }

MENCARI IP ADDRESS 6. Sekarang Debuglah program kita dengan klik menu Build>Rebuild All, setelah

MENCARI IP ADDRESS 6. Sekarang Debuglah program kita dengan klik menu Build>Rebuild All, setelah running program kita dengan klik Build>Execute