Download - 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
• 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
Client - server
• Sebuah proses pada client melakukan permintaan ke Server
• Aplikasi server menerima permintaan dari client
Client Server
request
response
• 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
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*
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
Port NumbersPort Numbers
TCP
FTP
TELNET
DNS
SNMP
TFTP
SMTP
UDP
ApplicationLayer
2121 2323 2525 5353 6969 161161
RIP
520520
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
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
Contoh service port
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
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 .
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.
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.
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.
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.
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.