Top Banner
JASMAN PARDEDE Client Server
25

Client Server

Jun 25, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Client Server

JASMAN PARDEDE

Client Server

Page 2: Client Server

Arsitektur Client/Server

Suatu model umum yang diterapkan untuk pemrograman jaringan adalah model client/server

Pengembangan aplikasi jaringan lebih dikenal dengan istilah aplikasi client/server

Page 3: Client Server

Konsep Client-Server

client/server mempunyai konsep yang sederhana

sebuah proses atau aplikasi client melakukan permintaan(request) untuk suatu informasi atau mengirimkan sebuah perintah ke suatu aplikasi server

server akan menerima permintaan dari clientpermintaan tersebut diproses berdasarkan

permintaan client, mengembalikan suatu respon ke client

sebagai suatu hasil dari pemrosesan yang sudah dilakukan

Page 4: Client Server

Respon Server

berupa sekumpulan record, pesan kesalahan, sebuah nilai boolean

=>>mengindikasikan apakah permintaan telah dieksekusi dengan sukses

Page 5: Client Server

Tugas Server dan Client

Tugas dari server adalah melakukan listen suatu koneksi

Tugas dari client mencoba membuat koneksi ke server

Setelah koneksi terbentuk, hubungan pertukaran data antara client dan server diawali dengan suatu stream input dan output

Page 6: Client Server

Arsitektur Client/Server

Data

response

request

server

client

client

Page 7: Client Server

Protokol

Protokol adalah suatu aturan atau mekanisme di mana dua atau lebih komputer dapat saling berinterkoneksi

Komunikasi dibentuk dengan dua buah aliran data (stream)

Satu stream membaca data dari proses ke proses yang lain, sedangkan stream lainnya mengirimkan data dengan arah yang berlawan dengan arah pertama

Salah satu protokol yang paling banyak digunakan saat ini adalah protokol TCP/IP

Page 8: Client Server

Dua tipe komunikasi pemrograman jaringan

Pemrograman Connection-orientedmemiliki sebuah komunikasi yang terbuka dan aktif memberi kepastian bahwa paket yang dikirimkan dapat diterima dalam suatu urutan waktu Contoh, TCP/IP (Transmission Control Protocol)

Pemrograman Connectionless Komunikasi antara pengirim dan penerima tidak akan dipelihara setelah paket telah diterima lebih cepat dari pada connection-oriented tidak dijamin bahwa paket yang dikirimkan dapat sampai dengan selamat ke penerimaContoh UDP (User Datagram Protocol)

Page 9: Client Server

socket

Suatu antar muka dan pustaka kelas atau fungsi yang memberikan kemudahan bagi pemrograman untuk memperkaya aplikasi client/server yang dapat berjalan pada jaringan TCP/IP

Untuk menyembunyikan kekompleksitasan penggunaan protokol pendukung aplikasi client/server berbasis TCP/IP

Page 10: Client Server

Jenis-jenis Socket

SOCK_STREAM, SOCK_DGRAMSOCK_RAW

Page 11: Client Server

SOCK_STREAM

menyediakan komunikasi byte-to-byte stream digunakan pada komuniksi TCP aliran data secara kontinudiperlukan pengaturan headerLoad server lebih besar

Page 12: Client Server

SOCK_DGRAM

untuk komunikasi pengiriman datagramdigunakan pada komunikasi UDPdata mungkin tidak diterima di tujuanTerduplikasidata datang tidak berurutan

Page 13: Client Server

SOCK_RAW

digunakan oleh programmer yang membutuhkan tingkat pengontrolan yang tinggi terhadap pengiriman pesan

memperbolehkan pemrogramer untuk menspesifikasi path yang digunakan saat pengiriman packet pada suatu jaringan

Page 14: Client Server

Komunikasi Client/Server

Model clien/server merupakan suatu bentuk pemrograman terdistribusi di mana suatu program (client) berkomunikasi dengan program yang lainnya (server) untuk tujuan pertukaran informasi

Page 15: Client Server

komunikasi socket client/server

1. Server : Socket

2. Listen

4. Accept

3. Client : Socket

5. Read5. Write

5. Read5. Write

6. Close 6. Close

Server Client

Page 16: Client Server

Sequence diagram Socket dan ServerSocket

AplikasiClient :

Socket :

AplikasiServer :

ServerSocket :

new new

accept ( )

Socket :

return ;

request( )

response

network

Page 17: Client Server

Pemrograman Java Socket

Untuk membuat suatu hubungan ke mesin atau proses lain sehingga dapat mempertukarkan data baik berupa input stream maupun output stream, membutuhkan socket

Page 18: Client Server

Kelas pada pemrograman java dalam mendukung tipe Connection-oriented

Java.net.ServerSocket; digunakan server untuk listen koneksi

Java.net.Socket; digunakan oleh client untuk menginisialisasi koneksi

Page 19: Client Server

Kelas Socket

sebuah kelas yang dirancang sebagai “wakil” sebuah koneksi menggunakan protokol TCP

Saat Socket dibuat maka koneksi akan terbentuk ke suatu mesin atau proses yang dituju

Page 20: Client Server

Langkah pemrograman Socket

Menciptakan socketMembentuk suatu data input streamMembentuk suatu data output streamMenutup socket

Page 21: Client Server

Menciptakan socket disisi Client

protected Socket socket;// set up the client socketsocket = new Socket(host, portnumber);

Page 22: Client Server

Menciptakan socket disisi Server protected ServerSocket myServerSocket; protected Socket mySocket;

try { // create server socket client myServerSocket = new ServerSocket(port); } catch (IOException e) { System.exit(1); } try { // terima koneksi dgn client mySocket = myServerSocket.accept(); } catch (IOException e) { myServerSocket.close(); System.exit(1); }

Page 23: Client Server

Membentuk suatu data input stream

protected DataInputStream istream;

// Get an input stream to correspond to the client socketistream = new DataInputStream( socket.getInputStream());

Page 24: Client Server

Membentuk suatu data output stream

protected DataOutputStream ostream;

// Get the output streamostream = new

DataOutputStream( socket.getOutputStream());

Page 25: Client Server

Menutup socket

try { istream.close(); } catch (IOException e) {}   try { synchronized (ostream){ ostream.flush(); ostream.close(); }   // close up my socket socket.close(); } catch (IOException e) {}