Pemrograman Client Server

17
Pustaka Pustaka TCP/IP Socket in Java Practical Guide for Programmers Oleh : Kenneth L. Calvert (University of Kentucky), Michael Donahoo (Baylor University) An Introduction to Network Programming With Java Oleh : Jan Graba Sheffield Hallam Universisty, UK Pemrograman Client/Server dengan Java 2 Oleh : Budi Susanto Elex Media

description

Pemrograman Client Server. Pustaka. TCP/IP Socket in Java Practical Guide for Programmers Oleh : Kenneth L. Calvert (University of Kentucky), Michael Donahoo (Baylor University) An Introduction to Network Programming With Java Oleh : Jan Graba Sheffield Hallam Universisty, UK - PowerPoint PPT Presentation

Transcript of Pemrograman Client Server

Page 1: Pemrograman Client Server

PustakaPustaka

• TCP/IP Socket in Java Practical Guide for Programmers

Oleh : Kenneth L. Calvert (University of Kentucky),

Michael Donahoo (Baylor University)

• An Introduction to Network Programming With Java

Oleh : Jan Graba

Sheffield Hallam Universisty, UK

• Pemrograman Client/Server dengan Java 2

Oleh : Budi Susanto

Elex Media

Page 2: Pemrograman Client Server

• Client– Bagian yang meminta layanan pada server

• Server– Bagian yang melayani permintaan client

• Peer to peer– Diantara host mempunyai kedudukan yang

sama– Contoh : sharing, file, direktori

Page 3: Pemrograman Client Server

Client - server

• Sebuah proses pada client melakukan permintaan ke Server

• Aplikasi server menerima permintaan dari client

Client Server

request

response

Page 4: Pemrograman Client Server

• Protocol Standar Internet

5

4

3

2

Application

Presentation

Session

Transport

Network

Data-Link

Physical

Application

Transport

Internet

Data-Link

Physical 1

osi Tcp/ip

Page 5: Pemrograman Client Server

Application Layer

Application

Transport

Internet

Data-Link

Physical

File Transfer- TFTP*- FTP*- NFS

E-Mail- SMTP

Remote Login- Telnet*- rlogin*

Network Management- SNMP*

Name Management- DNS*

File Transfer- TFTP*- FTP*- NFS

E-Mail- SMTP

Remote Login- Telnet*- rlogin*

Network Management- SNMP*

Name Management- DNS*

Page 6: Pemrograman Client Server

Transport LayerTransport Layer

Transmission ControlProtocol (TCP)

User Datagram Protocol (UDP)

Transmission ControlProtocol (TCP)

User Datagram Protocol (UDP)

Application

Transport

Internet

Data-Link

Physical

Connection-Oriented

Connectionless

Page 7: Pemrograman Client Server

Port NumbersPort Numbers

TCP

FTP

TELNET

DNS

SNMP

TFTP

SMTP

UDP

ApplicationLayer

2121 2323 2525 5353 6969 161161

RIP

520520

Page 8: Pemrograman Client Server

Internet Protocol (IP)

Internet Control MessageProtocol (ICMP)

Address ResolutionProtocol (ARP)

Reverse AddressResolution Protocol (RARP)

Internet Protocol (IP)

Internet Control MessageProtocol (ICMP)

Address ResolutionProtocol (ARP)

Reverse AddressResolution Protocol (RARP)

Application

Transport

Internet

Data-Link

Physical

Internet LayerInternet Layer

Page 9: Pemrograman Client Server

SocketSocket

1. Sebuah Abstraksi perangkat lunak yang digunakan sebagai “terminal” dari suatu hubungan dua mesin, proses yang saling koneksi

2. Setiap mesin yang berkomunikasi harus terpasang socket

Port

1. Nomor untuk identifikasi proses2. Menggunajan nilai 16 bit3. Baberapa layanan port, mengunakan nilai baku

Page 10: Pemrograman Client Server

Contoh service port

Page 11: Pemrograman Client Server

Java Socket

• Terdapat pada paket java.net

• Berisi kelas-kelas dan interface

• Menyediakan API protokol UDP, TCP

• Terdiri misal– java.net.ServerSocket– java.net.Socket – java.net.DatagramSocket– java.net.InetAddress

Page 12: Pemrograman Client Server

Class Socket

Kelas ini klien mengimplementasikan soket(juga disebut hanya "socket"). Sebuahsocket adalah sebuah endpoint untukkomunikasi antara dua mesin.

• Constructor Socket()Menciptakan soket tidak berhubungan, dengansistem-default jenis SocketImpl .

Page 13: Pemrograman Client Server

Socket java

• Socket(InetAddress address, int port)Menciptakan stream soket dan menghubungkan kenomor port tertentu pada alamat IP yang ditentukan.

• Socket(InetAddress host, int port, boolean stream)Deprecated. Gunakan UDP DatagramSocket bukan untuk transportasi.

• Socket(InetAddress address, int port, InetAddress localAddr, int localPort)Menciptakan soket dan menghubungkan ke alamat remote tertentu pada remote port yang disyaratkan.

Page 14: Pemrograman Client Server

Construktor

• Socket(SocketImpl impl)Socket memciptakan nonkoneksi dengan user-SocketImpl ditentukan..

• void bind(SocketAddress bindpoint) Mengikat socket ke alamat lokal.          .  

• void close() Menututup socket  

• void connect(SocketAddress endpoint) Soket ini menghubungkan ke server.

• void connect(SocketAddress endpoint, int timeout)Soket ini menghubungkan ke server dengan nilai timeout tertentu.

Page 15: Pemrograman Client Server

Methode• getInetAddress• public InetAddress getInetAddress() Mengembalikan alamat yang

soket tersambung.

Pengembalian:alamat IP remote yang terhubung socket ini, atau null jika soket tidak tersambung.

• getLocalAddress• public InetAddress getLocalAddress() • Mendapatkan alamat lokal yang soket diikat.

Pengembalian:alamat lokal yang soket diikat atau InetAddress.anyLocalAddress () jika tidak terikat soket tidak terikat.

Page 16: Pemrograman Client Server

Methode• getPort

public int getPort ()

Mengembalikan port remote yang soket ini tersambung.

 Pengembalian:  nomor port remote yang terhubung socket ini, atau 0 jika soket tidak terhubung.

getLocalPort

public int getLocalPort ()  

• Mengembalikan port lokal yang soket ini terikat.

Pengembalian:         nomor port setempat yang soket ini diikat atau -1 jika socket tidak terikat belum.

Page 17: Pemrograman Client Server

Methode• getRemoteSocketAddress

SocketAddress publik getRemoteSocketAddress ()

Mengembalikan alamat titik akhir soket ini terhubung ke, atau null jika tidak tersambung.

• Pengembalian: SocketAddress reprensentasi sebuah titik akhir jauh soket ini, atau null jika tidak terhubung .

• getLocalSocketAddress• SocketAddress publik getLocalSocketAddress ()

 • Mengembalikan alamat endpoint soket ini terikat pada, atau null jika tidak terikat.

Pengembalian: SocketAddress mewakili sebuah titik akhir lokal soket ini, atau null jika tidak terikat be.