Tahu semua tentang Pemrograman Socket di Java



Pemrograman Java Socket digunakan untuk komunikasi antara aplikasi yang berjalan pada JRE yang berbeda. Pemrograman Java Socket dapat berorientasi pada koneksi atau tanpa koneksi.

Pemrograman soket di digunakan untuk komunikasi antar aplikasi yang berjalan di berbeda . Ini bisa berorientasi koneksi atau tanpa koneksi. Secara keseluruhan, soket adalah cara untuk membuat koneksi antara klien dan server. Pada artikel ini, saya akan memberi tahu Anda semua tentang Pemrograman Socket.

Topik di bawah ini tercakup dalam artikel ini:





Apa itu Pemrograman Socket di Java?

Pemrograman soket adalah cara menghubungkan dua node pada suatu jaringan untuk berkomunikasi satu sama lain. Satu stopkontak (node) mendengarkan pada port tertentu di sebuah IP, sementara lainnya stopkontak menjangkau yang lain untuk membentuk koneksi.

Komunikasi Server Klien - Pemrograman Soket di Java - Edureka



Server membentuk pendengar soket sementara klien menjangkau server. Socket dan Soket Server digunakan untuk pemrograman soket berorientasi koneksi.

Sekarang mari kita pahami konsep inti Pemrograman Soket, yaitu soket.

Apa itu Socket di Java?

UNTUK stopkontak di adalah salah satu titik akhir dari hubungan komunikasi dua arah antara dua program yang berjalan di jaringan. SEBUAH stopkontak terikat ke nomor port sehingga lapisan TCP dapat mengidentifikasi aplikasi tujuan pengiriman data.



Titik akhir adalah kombinasi dari alamat IP dan nomor porta. Paket di platform Java menyediakan kelas,Stopkontakyang mengimplementasikan satu sisi koneksi dua arah antara program Java Anda dan program lain di jaringan. Kelas berada di atas implementasi yang bergantung pada platform, menyembunyikan detail sistem tertentu dari program Java Anda. Dengan menggunakan kelas alih-alih mengandalkan kode asli, file dapat berkomunikasi melalui jaringan dengan cara yang tidak bergantung pada platform.

Sekarang setelah Anda tahu, apa itu Socket di Java, mari melangkah lebih jauh dan memahami bagaimana klien berkomunikasi dengan server dan bagaimana server merespons kembali.

Pemrograman Sisi Klien

Dalam kasus pemrograman sisi klien, klien pertama-tama akan menunggu server untuk memulai. Setelah server aktif dan berjalan, itu akan mengirim permintaan ke server. Setelah itu, klien akan menunggu respon dari server. Jadi, inilah keseluruhan logika komunikasi klien dan server. Sekarang mari kita pahami pemrograman sisi klien dan sisi server secara mendetail.

overloading vs override c ++

Untuk memulai permintaan klien, Anda harus mengikuti langkah-langkah yang disebutkan di bawah ini:

1. Buat Koneksi

Langkah pertama adalah membuat koneksi soket. Sambungan soket menyiratkan bahwa kedua mesin memiliki informasi tentang lokasi jaringan (Alamat IP) dan port TCP masing-masing.

Anda dapat membuat Socket dengan bantuan pernyataan di bawah ini:

Soket soket = Soket baru ('127.0.0.1', 5000)

tunggu dan beri tahu di java
  • Di sini, argumen pertama mewakili Alamat IP Server .

  • Argumen kedua mewakili Port TCP . (Ini adalah angka yang mewakili aplikasi mana yang harus dijalankan di server.)

2. Komunikasi

Untuk berkomunikasi melalui koneksi soket, aliran digunakan untuk input dan output data. Setelah membuat koneksi dan mengirim permintaan, Anda harus menutup koneksi.

3. Menutup koneksi

Sambungan soket ditutup secara eksplisit setelah pesan ke server dikirim.

Sekarang mari kita lihat bagaimana menulis program Java untuk mengimplementasikan koneksi soket di sisi klien.

// Program Java untuk ClientSide import java.net. * Import java.io. * public class ClientProgram {// inisialisasi soket dan masukan aliran keluaran private Socket socket = null private DataInputStream input = null private DataOutputStream out = null // konstruktor untuk meletakkan alamat ip dan port publik Klien (Alamat string, port int) {// membuat koneksi coba {socket = baru Socket (alamat, port) System.out.println ('Connected') // mengambil input dari terminal input = new DataInputStream (System.in) // mengirimkan output ke soket out = new DataOutputStream (socket.getOutputStream ())} catch (UnknownHostException u) {System.out.println (u)} catch (IOException i) {System.out .println (i)} // string untuk membaca pesan dari input String line = '' // terus membaca sampai 'Over' adalah input sementara (! line.equals ('Over')) {try {line = input.readLine ( ) out.writeUTF (line)} catch (IOException i) {System.out.println (i)}} // tutup koneksi coba {input.close () out.close () socket.close ()} catch (IOException saya ) {System.out.println (i)}} public static void main (String args []) {Client client = new Client ('127.0.0.1', 5000)}}

Sekarang, mari kita terapkan pemrograman sisi server dan kemudian sampai pada keluarannya.

Pemrograman Sisi Server

Pada dasarnya, server akan membuat instance objeknya dan menunggu permintaan klien. Setelah klien mengirim permintaan, server akan berkomunikasi kembali dengan responsnya.

Untuk membuat kode aplikasi sisi server, Anda memerlukan dua soket dan itu adalah sebagai berikut:

  • UNTUK ServerSocket yang menunggu permintaan klien (ketika klien membuat Socket baru ())

  • Tua biasa stopkontak untuk komunikasi dengan klien.

Setelah ini, Anda perlu berkomunikasi dengan klien dengan tanggapan.

Komunikasi

getOutputStream () metode digunakan untuk mengirim output melalui soket.

Tutup Koneksi

Penting untuk menutup koneksi dengan menutup soket serta aliran input / output setelah semuanya selesai.

Sekarang mari kita lihat cara menulis program Java untuk mengimplementasikan koneksi soket di sisi server.

// Program Java untuk Serverside import java.net. * Import java.io. * public class ServerSide {// inisialisasi socket dan input stream private Socket socket = null private ServerSocket server = null private DataInputStream in = null // konstruktor dengan port public Server (int port) {// memulai server dan menunggu koneksi coba {server = new ServerSocket (port) System.out.println ('Server mulai') System.out.println ('Menunggu klien .. . ') socket = server.accept () System.out.println (' Klien diterima ') // mengambil masukan dari soket klien di = new DataInputStream (new BufferedInputStream (socket.getInputStream ())) String line =' '/ / membaca pesan dari klien sampai 'Over' dikirim sementara (! line.equals ('Over')) {try {line = in.readUTF () System.out.println (line)} catch (IOException i) {System. out.println (i)}} System.out.println ('Menutup koneksi') // tutup koneksi socket.close () in.close ()} catch (IOException i) {System.out.println (i)}} public static void main (String args []) { Server server = Server baru (5000)}}

Setelah mengkonfigurasi akhir klien dan server, Anda dapat menjalankan program sisi server terlebih dahulu. Setelah itu, Anda perlu menjalankan program sisi klien dan mengirim permintaan. Segera setelah permintaan dikirim dari klien, server akan merespons kembali. Snapshot di bawah mewakili hal yang sama.

1. Ketika Anda menjalankan skrip sisi server, itu akan mulai dan menunggu klien untuk memulai.

cara memangkas di java

2. Selanjutnya, klien akan terhubung dan memasukkan permintaan dalam bentuk string.

3. Ketika klien mengirimkan permintaan, server akan merespon kembali.

Begitulah cara Anda perlu menjalankan program socket di Java. Anda juga dapat menjalankan program-program ini di jendela terminal atau prompt perintah. Tetapi, karena Eclipse sangat maju dengan fitur-fiturnya, Anda dapat dengan mudah menjalankan kedua program di konsol.

Ini membawa kita ke bagian akhir artikel tentang Pemrograman Socket di Java. Saya harap saya memberi penjelasan tentang pengetahuan Anda Pemrograman Socket.

Lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kami di sini untuk membantu Anda dengan setiap langkah dalam perjalanan Anda, selain pertanyaan wawancara java ini, kami hadir dengan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di artikel 'Pemrograman Soket di Java' ini dan kami akan menghubungi Anda kembali secepatnya.