7
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.

Modul 5 Prakt ST

Embed Size (px)

Citation preview

Page 1: Modul 5 Prakt ST

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.

Page 2: Modul 5 Prakt ST

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 :

Page 3: Modul 5 Prakt ST

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

Page 4: Modul 5 Prakt ST

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.

Page 5: Modul 5 Prakt ST

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 :

Page 6: Modul 5 Prakt ST

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.

Page 7: Modul 5 Prakt ST

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.