Cara Menggunakan WebSocket JavaScript: Tutorial 2025

Pelajari cara menggunakan WebSocket di aplikasi web Anda. Panduan lengkap dari dasar hingga contoh & praktik terbaik. Mulai gunakan WebSocket sekarang!

Ardianto Nugroho

Ardianto Nugroho

29 May 2025

Cara Menggunakan WebSocket JavaScript: Tutorial 2025

Pernahkah Anda bertanya-tanya bagaimana beberapa aplikasi dapat memperbarui data mereka secara real-time, tanpa mengharuskan Anda untuk me-refresh halaman atau mengklik tombol?

Dalam postingan blog ini, Kami akan menjelaskan apa itu WebSocket, bagaimana cara kerjanya, dan bagaimana cara menggunakannya dengan JavaScript. Kami juga akan menunjukkan cara menggunakan Apidog untuk menguji dan men-debug API Anda.

💡
Apidog menyederhanakan proses identifikasi dan penyelesaian masalah dalam koneksi WebSocket, menjamin komunikasi yang lancar antara klien dan server. Dengan Apidog, men-debug bug WebSocket sangat mudah! Dapatkan Apidog untuk unduhan gratis sekarang.
button

Pengantar WebSockets

WebSockets adalah alat yang ampuh untuk komunikasi real-time antara klien dan server. Mereka memungkinkan komunikasi dua arah, yang berarti data dapat dikirim dan diterima secara bersamaan. Ini berbeda dengan permintaan HTTP tradisional, yang searah dan mengharuskan permintaan baru dibuat untuk setiap bagian data.

WebSockets lebih cepat dan lebih efisien daripada metode komunikasi berbasis HTTP tradisional. Mereka menawarkan latensi rendah, komunikasi dua arah, skalabilitas, dan dukungan untuk streaming data real-time. WebSockets dapat menangani beberapa aliran data melalui satu koneksi, tidak seperti HTTP/1.1, yang hanya memungkinkan satu aliran data terstruktur dalam satu waktu.

Bagaimana Cara Kerja WebSockets

WebSocket bekerja dengan membangun koneksi antara klien dan server menggunakan handshake. Handshake dilakukan menggunakan HTTP, di mana klien mengirimkan permintaan upgrade dan server merespons dengan respons upgrade. Permintaan dan respons upgrade berisi beberapa header khusus yang menunjukkan bahwa klien dan server ingin beralih dari HTTP ke WebSocket.

javascript Websockets

Setelah handshake selesai, koneksi ditingkatkan ke WebSocket dan klien serta server dapat bertukar pesan. Pesan dikirim dan diterima menggunakan format biner, yang lebih efisien dan lebih cepat daripada HTTP. Pesan dapat berupa teks atau biner, dan dapat memiliki ukuran dan konten apa pun.

Koneksi tetap hidup sampai klien atau server menutupnya. Klien atau server dapat menutup koneksi dengan mengirimkan frame penutup, yang merupakan jenis pesan khusus yang menunjukkan akhir komunikasi. Frame penutup juga dapat berisi kode alasan dan pesan yang menjelaskan mengapa koneksi ditutup.

Manfaat Menggunakan WebSockets

WebSockets adalah teknologi yang memungkinkan komunikasi berkelanjutan, dua arah, dan latensi rendah antara klien web dan server web. Beberapa manfaat menggunakan WebSockets adalah:

Cara menggunakan WebSocket dengan JavaScript

WebSocket dengan JavaScript sangat mudah digunakan dengan JavaScript, bahasa skrip paling populer untuk web. JavaScript memiliki objek bawaan bernama WebSocket yang menyediakan API sederhana dan intuitif untuk membuat dan mengelola koneksi WebSocket.

Untuk menggunakan WebSocket dengan JavaScript, Anda perlu membuat objek WebSocket dengan URL server, dan kemudian mendengarkan peristiwa seperti open, message, close, dan error. Anda juga dapat mengirim data ke server menggunakan metode send. Berikut adalah contoh sederhana tentang cara menggunakan WebSocket dengan JavaScript:

// Buat objek WebSocket dengan URL server
const socket = new WebSocket("ws://localhost:3000");

// Dengarkan peristiwa open, yang menunjukkan koneksi telah dibuat
socket.onopen = () => {
  console.log("Koneksi WebSocket dibuka");
  // Kirim pesan ke server
  socket.send("Halo dari browser!");
};

// Dengarkan peristiwa message, yang berisi data yang diterima dari server
socket.onmessage = (event) => {
  console.log("Pesan dari server:", event.data);
};

// Dengarkan peristiwa close, yang menunjukkan koneksi ditutup
socket.onclose = (event) => {
  console.log("Koneksi WebSocket ditutup");
};

// Dengarkan peristiwa error, yang menunjukkan ada kesalahan dengan koneksi
socket.onerror = (error) => {
  console.error("Kesalahan WebSocket:", error);
};

Kode ini menggunakan WebSocket API untuk membuat dan mengelola koneksi WebSocket ke server, serta untuk mengirim dan menerima data pada koneksi tersebut. Berikut adalah uraian baris demi baris dari kode tersebut:

// Buat objek WebSocket dengan URL server
const socket = new WebSocket("ws://localhost:3000");

Baris ini membuat objek WebSocket baru dengan URL server yang mendukung protokol WebSocket. URL dimulai dengan ws:// atau wss:// untuk koneksi aman.

// Dengarkan peristiwa open, yang menunjukkan koneksi telah dibuat
socket.onopen = () => {
  console.log("Koneksi WebSocket dibuka");
  // Kirim pesan ke server
  socket.send("Halo dari browser!");
};

Blok kode ini mendefinisikan fungsi yang akan dieksekusi ketika peristiwa open dipicu pada objek WebSocket. Peristiwa open menunjukkan bahwa koneksi antara browser dan server berhasil dibuat. Fungsi ini mencatat pesan ke konsol dan kemudian mengirim pesan ke server menggunakan metode send dari objek WebSocket.

// Dengarkan peristiwa message, yang berisi data yang diterima dari server
socket.onmessage = (event) => {
  console.log("Pesan dari server:", event.data);
};

Blok kode ini mendefinisikan fungsi yang akan dieksekusi ketika peristiwa message dipicu pada objek WebSocket. Peristiwa message berisi data yang diterima dari server dalam properti event.data. Fungsi ini mencatat data ke konsol.

// Dengarkan peristiwa close, yang menunjukkan koneksi ditutup
socket.onclose = (event) => {
  console.log("Koneksi WebSocket ditutup");
};

Blok kode ini mendefinisikan fungsi yang akan dieksekusi ketika peristiwa close dipicu pada objek WebSocket. Peristiwa close menunjukkan bahwa koneksi antara browser dan server ditutup. Fungsi ini mencatat pesan ke konsol.

// Dengarkan peristiwa error, yang menunjukkan ada kesalahan dengan koneksi
socket.onerror = (error) => {
  console.error("Kesalahan WebSocket:", error);
};

Blok kode ini mendefinisikan fungsi yang akan dieksekusi ketika peristiwa error dipicu pada objek WebSocket. Peristiwa error menunjukkan bahwa ada kesalahan dengan koneksi, seperti ketika beberapa data tidak dapat dikirim atau diterima. Fungsi ini mencatat kesalahan ke konsol.

Bagaimana cara menggunakan Apidog untuk men-debug JavaScript WebSocket?

Men-debug WebSockets bisa jadi menantang karena mereka menggunakan koneksi persisten. Namun, ada beberapa alat yang tersedia yang dapat membantu Anda men-debug kode WebSocket Anda. Salah satu alat tersebut adalah Apidog, platform pengembangan API kolaboratif all-in-one. Dengan Apidog, Anda dapat mempelajari teknik debugging yang efektif, menyiapkan lingkungan debugging Anda, dan memanfaatkan alat canggih untuk pengalaman debugging yang lancar.

button

Berikut adalah cara Anda dapat menggunakan Apidog untuk men-debug klien WebSocket:

  1. Buka Apidog: Pertama, mulai aplikasi Apidog dan klik tombol "+" di sisi kiri, Sebuah drop-down baru akan dibuka. Dari sana pilih "API WebSocket Baru":
Apidog interface

2. Buat Koneksi:  Mulailah dengan memasukkan URL API WebSocket ke bilah alamat Apidog. Kemudian, klik tombol "Hubungkan" untuk memulai proses handshake dan membuat koneksi. Apidog memungkinkan Anda untuk menyesuaikan parameter seperti Params, Headers, dan Cookies selama handshake.

Apidog interface

3. Kirim dan Terima Pesan: Anda dapat mengirim dan menerima pesan setelah koneksi dibuat dengan mengakses tab "Pesan". Anda memiliki opsi untuk menyusun teks, JSON, XML, HTML, dan pesan format teks lainnya, serta pesan format biner menggunakan Base64 atau Hexadecimal. Tampilan timeline baru Apidog menampilkan status koneksi, pesan yang dikirim, dan pesan yang diterima dalam urutan kronologis. Mengklik pesan memungkinkan Anda untuk dengan mudah melihat detailnya.

Apidog interface

4. Dokumentasi API: Apidog mewarisi fungsionalitas dokumentasi API yang kuat untuk API WebSocket, memungkinkan dokumentasi yang efektif dari interaksi WebSocket Anda.

Apidog interface

Apidog adalah alat sederhana dan ampuh yang memungkinkan Anda untuk menguji dan men-debug koneksi WebSocket. Apidog memiliki sisi web dan sisi klien. Jika Anda menggunakan sisi web dan perlu men-debug layanan lokal, Anda perlu menginstal plugin Google untuk Apidog.

Unduh di sini: Ekstensi Browser Apidog

Contoh Dunia Nyata dari Javascript WebSockets

WebSocket sangat bagus karena memungkinkan komunikasi real-time antara browser dan server. Ini memungkinkan Anda untuk membuat aplikasi web interaktif dan menarik yang dapat memperbarui konten mereka secara real time, tanpa memuat ulang halaman. WebSocket dapat digunakan untuk berbagai tujuan, seperti:

Real-World Examples of Javascript WebSockets

Praktik Terbaik untuk Menggunakan Javascript WebSockets

Saat menggunakan WebSockets, penting untuk mengikuti praktik terbaik untuk memastikan bahwa kode Anda aman dan efisien. Berikut adalah beberapa praktik terbaik yang perlu diingat:

Gunakan Pustaka WebSocket: Manfaatkan pustaka WebSocket yang ada untuk menyederhanakan proses pengembangan dan memastikan kompatibilitas di berbagai browser dan perangkat.

Dengan mengikuti praktik terbaik ini, Anda dapat membuat aplikasi WebSocket yang kuat dan efisien yang menyediakan fungsionalitas real-time dengan peningkatan keamanan dan kinerja. Ingatlah untuk selalu menguji implementasi Anda secara menyeluruh dan mengikuti perkembangan terbaru dalam teknologi WebSocket.

Kesimpulan

Sebagai kesimpulan, WebSockets adalah alat yang ampuh untuk komunikasi real-time antara klien dan server. Mereka memungkinkan komunikasi dua arah, yang berguna untuk aplikasi real-time seperti ruang obrolan dan game online.

Dengan mengikuti praktik terbaik dan menggunakan alat seperti Apidog, Anda dapat memastikan bahwa kode WebSocket Anda aman dan efisien. Jadi, tunggu apa lagi? Mulai gunakan WebSockets di aplikasi web Anda hari ini!

button

Sumber Daya Tambahan

Berikut adalah beberapa sumber daya tambahan untuk membantu Anda mempelajari lebih lanjut tentang WebSockets:

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.