WebSockets telah merevolusi komunikasi waktu nyata di web, memungkinkan saluran komunikasi dua arah, full-duplex melalui satu koneksi TCP. Dengan Node.js, runtime JavaScript yang kuat, memanfaatkan kemampuan WebSockets menjadi lebih mudah diakses dan efisien.
Dalam panduan ini, kita akan membahas proses mengintegrasikan dan menggunakan WebSockets di Node.js.
Apa itu WebSocket?
Sebelum masuk ke implementasi, penting untuk memahami apa itu WebSockets dan bagaimana perbedaannya dari permintaan HTTP tradisional. Tidak seperti HTTP, yang mengikuti model permintaan-respons, WebSockets menyediakan koneksi persisten antara klien dan server, memungkinkan pertukaran data waktu nyata dengan latensi rendah.
Ini membuatnya ideal untuk aplikasi yang membutuhkan pembaruan instan, seperti aplikasi obrolan, game multipemain, dan alat kolaborasi.

Kasus Penggunaan WebSocket
WebSocket sangat bermakna dalam skenario berikut:
- Sistem notifikasi waktu nyata: Beri tahu klien secara instan ketika data baru tersedia di server.
- Obrolan online: Bangun aplikasi obrolan waktu nyata untuk memungkinkan komunikasi instan antar pengguna.
- Alat kolaborasi waktu nyata: Manfaatkan untuk berbagi dokumen waktu nyata, pengeditan grafis, atau pekerjaan kolaboratif lainnya.
- Game online: Aktifkan interaksi dan sinkronisasi waktu nyata antar pemain.
- Sistem pemantauan waktu nyata: Pantau status sistem dan beri tahu administrator secara instan.
Menyiapkan Proyek Node.js
Untuk memulai, pastikan Anda telah menginstal Node.js di sistem Anda. Anda dapat memverifikasi instalasi Anda dengan menjalankan node -v
di terminal Anda.

Setelah dikonfirmasi, buat direktori baru untuk proyek Anda dan navigasikan ke dalamnya.
mkdir websocket-example
cd websocket-example
Inisialisasi proyek Node.js baru menggunakan npm:
npm init -y
Perintah ini membuat file package.json
dengan pengaturan default. Selanjutnya, instal paket ws
, pustaka WebSocket populer untuk Node.js:
npm install ws
Mengimplementasikan Server WebSocket
Dengan proyek yang disiapkan, mari buat server WebSocket menggunakan pustaka ws
. Buat file baru bernama server.js
di direktori proyek Anda dan tambahkan kode berikut:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {console.log('A new client connected.');
ws.on('message', function incoming(message) {console.log('Received: %s', message);
});
ws.send('Welcome to the WebSocket server!');
});
Kode ini menginisialisasi server WebSocket di port 8080
dan mendengarkan koneksi masuk. Setelah koneksi, ia mencatat pesan dan menyiapkan pendengar acara untuk pesan masuk. Ia juga mengirimkan pesan selamat datang ke klien.
Membuat Klien WebSocket
Sekarang, mari buat klien WebSocket sederhana untuk terhubung ke server kita. Buat file baru bernama client.js
di direktori proyek dan tambahkan kode berikut:
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {console.log('Connected to the server.');
});
ws.on('message', function incoming(data) {console.log('Received from server: %s', data);
});
Kode ini membuat koneksi WebSocket ke ws://``localhost:8080
dan mencatat pesan setelah koneksi berhasil. Ia juga menyiapkan pendengar acara untuk menerima pesan dari server.
Menjalankan Aplikasi
Sebelum menjalankan aplikasi, pastikan server WebSocket (server.js) sedang berjalan. Anda dapat memulainya dengan menjalankan:
node server.js
Setelah server berjalan, jalankan skrip klien (client.js) di jendela terminal lain:
node client.js
Anda akan melihat pesan yang menunjukkan koneksi berhasil dari server dan klien.
Apidog: Merampingkan Pengujian API WebSocket

Alih-alih Node.js, pertimbangkan untuk menggunakan Apidog, alat yang sangat baik yang mirip dengan Postman untuk pengujian API serbaguna. Apidog mendukung pengujian API WebSocket, menawarkan antarmuka yang mudah digunakan untuk membuat, mengelola, dan menguji API WebSocket.