Client Server

Post on 25-Jun-2015

323 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

JASMAN PARDEDE

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

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

Respon Server

berupa sekumpulan record, pesan kesalahan, sebuah nilai boolean

=>>mengindikasikan apakah permintaan telah dieksekusi dengan sukses

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

Arsitektur Client/Server

Data

response

request

server

client

client

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

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)

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

Jenis-jenis Socket

SOCK_STREAM, SOCK_DGRAMSOCK_RAW

SOCK_STREAM

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

SOCK_DGRAM

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

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

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

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

Sequence diagram Socket dan ServerSocket

AplikasiClient :

Socket :

AplikasiServer :

ServerSocket :

new new

accept ( )

Socket :

return ;

request( )

response

network

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

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

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

Langkah pemrograman Socket

Menciptakan socketMembentuk suatu data input streamMembentuk suatu data output streamMenutup socket

Menciptakan socket disisi Client

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

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); }

Membentuk suatu data input stream

protected DataInputStream istream;

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

Membentuk suatu data output stream

protected DataOutputStream ostream;

// Get the output streamostream = new

DataOutputStream( socket.getOutputStream());

Menutup socket

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

top related