Assalamu'alaikum wr.wb....
hai temen-teman, apa kabar?
kali ini aku bakalan menjelaskan tentang materi Socket TCP dimana disini nanti kita akan mencoba program client java bisa mengirimkan chat ke server.
Apa itu Soket?
Soket merupakan fasilitas IPC (Inter Proses Communication) untuk aplikasi jaringan. Agar suatu soket dapat berkomunikasi dengan soket lainnyanya, maka soket butuh diberi suatu alamat unik sebagai identifikasi. Alamat soket terdiri atas Alamat IP dan Nomer Port.
Macam-macam Komunikasi Soket
Secara umum ada dua macam komunikasi dengan menggunakan soket, yaitu komunikasi stream dan komunikasi datagram. Komunikasi stream sering juga disebut dengan komunikasi yang berorientasi koneksi (Connection oriented communication). Sedangkan Komunikasi datagram disebut juga dengan komunikasi tak berkoneksi (connectionless communication). Protokol standar untuk komunikasi stream dikenal denga istilah TCP (Transmission Control Protocol), sedangkan standar protokol komunikasi datagram dikenal dengan UDP (User Datagram Protocol).
Pada UDP, setiap kali suatu paket data dikirim, informasi soket pengirim dan alamat soket tujuan turut dikirimkan. Hal demikian tidak dibutuhkan oleh TCP, karena TCP akan membuat setup koneksi dengan soket tujuan terlebih dulu. Setelah koneksi terbentuk, tidak dibutuhkan mengirimkan informasi soket pengirim tiap kali data dikirimkan. Ini karena proses tujuan akan mengidentifikasi setiap data yang tiba pada soket tujuan sebagai data dari proses pengirim. Koneksi yang terbentuk pada TCP bersifat dua arah (bidirectional).
Socket TCP pada Java
Java menyediakan obyek Socket dan ServerSocket untuk komunikasi soket TCP. ServerSocket digunakan pada sisi aplikasi server, sedangkan Socket digunakan baik pada sisi aplikasi server maupun client. Berikut adalah langkah-langkah membuat komunikasi socket di server:
1. .Buatlah sebuah objek ServerSocket.
Konstruktor ServerSocket memerlukan port number (1024-65535) sebagai argumen.
contoh untuk client:
- Socket link = new Socket(1234);
Server akan menunggu koneksi dari client pada port 1234
contoh untuk server :
Selain itu, pada server juga harus dibuat sebuah objek socket dari kelas ServerSocket untuk mendengar dan menerima koneksi dari client, sebagai berikut:
2. Server dalam kondisi menunggu (listen).
Operasi ini pada intinya menunggu permintaan koneksi dari sisi client.
contoh :
- Socket link = servSock.accept();
3. Buat input dan output stream.
Stream ini digunakan untuk berkomunikasi dengan client. Objek InputStreamReader digunakan untuk menerima respon dari client. Sedangkan PrintWriter untuk mengirimkan data ke client.
contoh untuk input :
contoh untuk output :
- BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream()));
- PrintWriter out = new PrintWriter(link.getOutputStream(),true);
4. Saling berkirim dan menerima pesan.
Gunakan method readLine() untuk menerima data dan method println() untuk mengirim data.
contoh untuk menerima data :
- out.println("Message " + numMessages + ":" + message);
- message = in.readLine();
5. Menutup socket
contoh :
- Link.close();
Komentar
Posting Komentar