WebSocket di Node.js - Tutorial Real-Time Komunikasi

date
Dec 1, 2024
slug
WebSocket-di-Node.js-Tutorial-Real-Time-Komunikasi
status
Published
tags
nodejs
websocket
summary
WebSocket adalah sebuah protokol komunikasi yang memungkinkan koneksi dua arah (full-duplex) antara klien (seperti browser) dan server. Dengan WebSocket, data bisa dikirim dan diterima secara real-time tanpa perlu membuka koneksi baru setiap kali ada data yang ingin ditransfer.
type
Post

Blog: Memahami WebSocket: Konsep, Analogi, dan Implementasi di Node.js


Apa Itu WebSocket?

WebSocket adalah sebuah protokol komunikasi yang memungkinkan koneksi dua arah (full-duplex) antara klien (seperti browser) dan server. Dengan WebSocket, data bisa dikirim dan diterima secara real-time tanpa perlu membuka koneksi baru setiap kali ada data yang ingin ditransfer.

Analogi WebSocket

Agar lebih mudah dipahami, kita bisa menggunakan analogi komunikasi:
  • HTTP Biasa seperti SMS: Setiap kali ingin mengirim pesan, kita perlu membuka koneksi (mengirim SMS), menunggu balasan, lalu menutup koneksi.
  • WebSocket seperti panggilan telepon: Setelah panggilan terhubung, Anda dan lawan bicara bisa saling berbicara tanpa harus membuka koneksi baru untuk setiap komunikasi.

Kapan Menggunakan WebSocket?

WebSocket cocok untuk aplikasi yang membutuhkan komunikasi real-time, seperti:
  1. Aplikasi Chat: Pesan langsung dikirim dan diterima tanpa jeda.
  1. Game Online: Pemain dapat berinteraksi secara real-time.
  1. Notifikasi Real-Time: Memberikan update instan kepada pengguna.
  1. Dashboard Data: Menampilkan data yang terus diperbarui secara live.
  1. Kolaborasi Dokumen: Mengedit file bersama-sama dalam waktu nyata.

Implementasi WebSocket dengan Node.js

Berikut adalah langkah-langkah untuk membuat server dan klien WebSocket dengan Node.js.

1. Membuat Server WebSocket

Kita akan menggunakan library ws. Pertama, instal library ini:
Lalu buat file bernama server.js dengan kode berikut:

2. Membuat Klien WebSocket

Untuk klien, Anda bisa menggunakan browser atau kode Node.js. Berikut contoh klien menggunakan Node.js:

3. Menjalankan Server dan Klien

  1. Jalankan server:
    1. Jalankan klien:

      Dengan implementasi di atas, Anda bisa melihat komunikasi real-time antara server dan klien melalui terminal. Server akan menerima pesan dari klien dan mengirimkan respons, semuanya tanpa membuka koneksi baru.
       

      4. Menguji websocket dengan postman

      menguji websocket juga tentunya tidak hanya menggunakan client websocket yang dibuat dengan node js. bisa juga menggunakan tool yang sudah mendukung pengujian websocket seperti postman.
      cara melakukan pengujian dengan mengklik tombol new di halaman utaman dan pilih Websocket.
      setelah itu lakuakn seperti di gambar ini
      notion image
      semoga berhasil

      Kesimpulan

      WebSocket adalah solusi yang efisien untuk membangun aplikasi real-time. Dengan implementasi di Node.js menggunakan library ws, Anda dapat membuat server dan klien yang mampu berkomunikasi secara instan. WebSocket ideal untuk aplikasi seperti chat, game online, atau dashboard data real-time.


      © yhotie 2024