View
16
Download
10
Category
Preview:
Citation preview
Pertemuan V
SOCKET
Bahasan : - Dasar Socket dan Server Socket
- Dasar Socket UDP
Sasaran : - Konsep dari kelas Socket Client TCP.
- Konsep dari kelas Socket Server.
- Konsep dari kelas Socket UDP.
Materi :
1. Transmission Control Protocol (TCP)
� Class Socket Client di gunakan utuk merequest data ke server dalam hal ini server socket
class. Class ini menggunakan TCP sebagai protokolnya dan untuk membuat komunikasi
antara server dan client dibutuhkan string input dan string output seperti pada bab
sebelumnya.
� Berikut ini adalah method dan konstraktor pada socket client
Method / Procedure Deskripsi
public Socket (InetAddress a, int p) thows java.io.IOExeption, java.lang.SucurityExeption
Membuat koneksi socket kepada ip address a
dengan port p
public Socket (String a, int p) throws java.io.IOExeption, java.lang.SecurityExeption$
Membuat sebuah socket client dimana dihubungkan dengan diberikan nomor port pada hosttertentu.
public void close () throws java.io.IOExeption, java.lang.SecurityExeption$
Menutup koneksi socket
InetAddress getInetAddress () throws java.io.IOExeption,
Mengembalikan nilai InetAddress dari komputer yang terkoneksi dengan socket.
InputStream getInputStream () throws java.io.IOExeption.
Mengembalikan class inputStream yang membaca data yang dikirim oleh komputer yang dikoneksikan dengan socket
OutputStream getOutputStream throws java.io.IOExeption.
Menerima kembali output stream yang berhubungan dengan socket ini.
public boolean isClosed() Thows Java.net.SocketExeption
Mendeteksi apakah socket telah tertutup atau tidak
Int getPort() Mengembalikan port number yang digunakan.
Langkah-langkah untuk menciptakan kelas client sederhana:
1. Membuat kelas object socket :
Socket client = new Socket(server, port_id);
2. Membuat I/O streams untuk berkomunikasi dengan server.
is = new DataInputStream(client.getInputStream());
os = new DataOutputStream(client.getOutputStream());
3. Membuat I/O untuk menerima tanggapan dari server :
Menerima informasi dari server: String line = is.readLine();
Mengirim informasi ke server: os.writeBytes("Hello\n");
4. Tutup socket ketika selesai:
client.close();
Untuk mengilustrasikan langkah-langkah diatas perhatikan dan coba contoh program berikut
untuk klien :
Materi (Server Socket) :
� Digunakan untuk membuat server dengan alamat port yang ditentukan pada local
machine. Dimana Client Server Socket akan menunggu request dari Client Soctket.
� Berikut metode method dan konstraktor dari Server Socket
Method / Procedure Deskripsi
ServerSocket(int port) Ketika sebuah server menetapkan suatu port tertentu, sebuah port 0 menugaskan sebuah server kepada port bebas manapun.
ServerSocket(int port, int backlog) Ketika sebuah server menetapkan suatu port tertentu, panjang antrian maksimum untuk koneksi yang akan datang berdasarkan pada parameter backlog.
Socket accept() throws java.io.IOExeption, java.lang.SecurityExeption
Metode yang digunakan untuk menunggu client meminta koneksi. Dan jika sudah terjadi permintaan maka akan mengembalikan Class Socket.
public void close () throws java.io.IOExeption
Menutup server socket tersebut
public int getLocalPort() Mengembalikan port dimana socket juga membatasi
public boolean isClosed() Mendeteksi apakah socket tertutup atau belum
Langkah-langkah untuk menciptakan kelas server sederhana:
1. Membuat Server Socket :
ServerSocket server = new ServerSocket( PORT );
2. Menunggu Request dari client :
Socket client = server.accept();
3. Menciptakan I/O streams untuk komunikasi dengan client :
DataInputStream is = new DataInputStream(client.getInputStream());
DataOutputStream os = new DataOutputStream(client.getOutputStream());
4. Membuat I/O untuk menerima tanggapan dari client :
Menerima informasi dari client: String line = is.readLine();
Mengirimkan informasi ke client: os.writeBytes("Hello\n");
5. Menutup Socket :
client.close();
Untuk mengilustrasikan langkah-langkah diatas perhatikan dan coba contoh program berikut
untuk server :
2. User Datagram Protocol (UDP) - User Datagram Protocol adalah Connetionless protocol (tidak menggunakan string ).
Digunakan untuk mengirim data biner dari satu komputer ke komputer lainnya.
- Adapun kelebihan dari UDP yaitu:
o Tidak seperti TCP yang harus menstabilkan koneksi (menggunakan stream) UDP
tidak perlu melakukannya.
o Cepat, data dapat langsung dikirim tanpa pemeriksaan koneksi.
- Sedangkan kekurangannya yaitu :
o Banyak data yang hilang.
o Banyak kesalahan pengiriman.
- Java Mensuport UDP dalam dua kelas yaitu:
- java.net.DatagramPacket
Merupakan class untuk membangun packet data.
- java.net.DatagramSocket
Merupakan class untuk mengirim dan menerima paket data.
- Metode-metode dalam datagram packet.
Method / Procedure Deskripsi
DatagramPacket(byte[ ] buffer, int Length) Metode yang digunakan untuk membuat datagram packet sebagai penerima dari UDP packet yang masuk.
DatagramPacket(byte[ ] buffer, intLength, inetAddress Des, int DestinationPort)
Digunakan untuk membuat packet yang akan dikirim alamat IP Des dengan port destinationPort.
inetAddress getAddress() Mengembalikan IP Address dari alamat pengirim packet.
Byte[ ] getdata Mengembalikan nilai byte dari datagram packet tersebut
int getPort() Mengembalikan nilai port dari pembuat packet
- Metode metode Datagram Socket.
Method / Procedure Deskripsi
Public Dataram Socket (intPort trows java.net.SocketExeption
Konstraktor untuk membuat server datagram socket dimana konstraktor ini akan melayani penerimaan packet pada port P dan pengiriman packet .
Viod close menutup socket Void receive( datagramPacket Packet) trows java.io.IOExeption
Metode ini digunakan untuk membaca UDP packet dan menukar packet dengan packet yang masuk.
Void send (datagramPacket packet) trows java.io.IOExeption
Metode ini digunakan untuk mengirim UDP packet.
Contoh Program :
Tugas Praktikum :
1. Buatlah program untuk mengecek port yang terbuka dari satu host (port scanner).
Diantara inputan awal dan inputan akhir.
2. Buatlah program klien untuk mengirim data String kepada socket server
3. Buatlah program untuk membaca data String yang diinputkan oleh socket client,
kemudian server menjawab sesuai pilihan dari client.
4. Buatlah program chating satu sisi, yaitu client menginputkan data String ke
Server
5. Buatlah program untuk menerima data yang dikirim oleh server (program yang
dibuat oleh instruktur) dengan mengimplementasikan UDP protocol.
6. Buatlah program untuk mengirim data dari inputan Keyboard.
7. Buatlah program untuk membuat chat satu sisi dimana client mengirim data ke
server secara berulang-ulang.
Tugas :
1. Buatlah program chatting menggunakan GUI.
2. Buatlah 2 program yaitu program client dan program server sebagai Billing
Warnet. Dengan mengunakan UDP dan BAB sebelumnya.
3.
Recommended