Klien Uji WebSocket

Hubungkan ke WebSocket, kirim pesan, dan lihat pesan yang dikirim dan diterima, status koneksi, kode penutupan WebSocket, dan alasan penutupan yang diberikan oleh server.

Masukkan alamat lengkap ws:// atau wss://. Sambungan dimulai hanya bila Anda memilih Sambungkan.
Masukkan alamat WebSocket untuk terhubung.Tutup kode
Mengirim satu pesan teks. Tekan Ctrl+Enter atau Command+Enter untuk mengirim.
Catatan pesan
Terkirim 0Diterima 0

Hubungkan dan kirim pesan untuk memulai log.

Tidak ada yang diunggah ke BroBroGo atau disimpan oleh halaman ini. Alamat dan pesan Anda dikirim langsung dari browser Anda ke server WebSocket yang Anda pilih.

Tanya Jawab

Data WebSocket apa yang dapat saya periksa di sini?

Anda dapat melihat setiap pesan teks atau biner yang diekspos oleh browser Anda, arahnya, waktu dan ukurannya, ditambah kode penutupan akhir, alasan dan status penutupan bersih. Halaman browser tidak dapat mengekspos fragmen tingkat jaringan atau bingkai kontrol Ping dan Pong.

Mengapa koneksi gagal meskipun alamatnya berfungsi di tempat lain?

Pada halaman yang aman, browser mungkin memerlukan wss://. Server juga harus menerima koneksi browser dan asal halaman. Klien ini tidak dapat menambahkan header jabat tangan khusus, melewati kesalahan sertifikat, atau mengesampingkan aturan akses server.

Bisakah saya menguji dengan data produksi atau data sensitif?

Gunakan data sintetis bila memungkinkan. Hapus nama, rincian akun, catatan hukum, informasi keuangan dan informasi kesehatan sebelum mengirim. Pesan dikirim ke server yang Anda pilih, yang aturan pencatatan dan penyimpanannya berada di luar kendali halaman ini.

Pengantar Komunikasi Real-Time via WebSocket

Protokol WebSocket menyediakan saluran komunikasi dua arah (dupleks penuh) yang berjalan di atas satu koneksi TCP tunggal. Berbeda dengan protokol HTTP tradisional yang mengandalkan pola permintaan-tanggapan (request-response) satu arah, WebSocket memungkinkan server mengirimkan data ke klien secara instan tanpa perlu menunggu permintaan dari klien. Kemampuan ini sangat penting untuk aplikasi modern yang membutuhkan pembaruan data real-time, seperti dasbor pemantauan, aplikasi obrolan, sistem pelacakan keuangan, dan alat kolaborasi online.

Untuk memfasilitasi pengembangan, pengujian, dan debugging sistem ini, Klien Uji WebSocket menyediakan antarmuka langsung berbasis browser. Alat ini sangat berguna bagi pengembang API real-time, insinyur integrasi, personel penjaminan mutu (QA), personel operasi (Ops), atau siapa saja yang perlu terhubung secara manual ke endpoint WebSocket yang dapat diakses publik untuk mengirim pesan teks serta mengamati log koneksi dan pesan.

Protokol Koneksi: Perbedaan ws:// dan wss://

Saat menggunakan Klien Uji WebSocket, Anda harus menentukan skema protokol yang tepat pada alamat server tujuan. Protokol ini memiliki dua varian utama yang menentukan tingkat keamanan transmisi data:

  • ws:// (WebSocket): Berjalan di atas koneksi TCP biasa tanpa enkripsi. Protokol ini mirip dengan HTTP dan rentan terhadap penyadapan data di jalur jaringan.
  • wss:// (WebSocket Secure): Berjalan di atas koneksi TCP yang terenkripsi menggunakan Transport Layer Security (TLS/SSL). Protokol ini setara dengan HTTPS dan memastikan bahwa data yang dikirimkan antara browser Anda dan server tetap aman dari modifikasi atau penyadapan pihak ketiga.

Alat ini hanya mendukung skema ws:// atau wss://. Jika Anda memasukkan skema lain, antarmuka akan menampilkan pesan kesalahan: "Gunakan alamat ws:// atau wss://". Selain itu, alamat yang dimasukkan harus berupa alamat lengkap. Jika format alamat tidak lengkap, sistem akan memunculkan peringatan: "Masukkan alamat WebSocket lengkap seperti wss://example.com/socket".

Siklus Hidup Koneksi dan Status WebSocket

Koneksi WebSocket melewati beberapa tahapan siklus hidup yang terpantau secara langsung melalui alat uji ini. Proses ini dimulai dari inisiasi hingga penutupan koneksi:

  1. Inisiasi Koneksi: Sambungan ke server WebSocket hanya akan dimulai ketika Anda memilih tombol "Hubungkan". Selama proses jabat tangan (handshake) berlangsung, alat akan menampilkan status "Menghubungkan ke ‹address›…".
  2. Koneksi Berhasil: Jika jabat tangan berhasil, status akan berubah menjadi "Terhubung ke ‹address›." dan entri "Terhubung ke ‹address›." akan dicatat dalam log aktivitas.
  3. Batas Waktu (Timeout): Jika server tujuan tidak memberikan respons dalam waktu 10 detik, proses jabat tangan akan dihentikan dan sistem menampilkan pesan: "Server tidak membuka koneksi dalam 10 detik".
  4. Kegagalan Koneksi: Jika koneksi tidak dapat dibangun karena masalah jaringan atau konfigurasi, alat akan menampilkan pesan: "Koneksi gagal. Periksa alamat, sertifikat, ketersediaan server, dan aturan akses browser.".
  5. Penutupan Koneksi: Saat koneksi diakhiri, baik oleh pengguna dengan memilih "Putuskan sambungan" atau oleh server, status akan berubah menjadi "Menutup koneksi…" dan kemudian "Koneksi ditutup dengan kode ‹code›.".

Mengirim dan Menerima Pesan

Setelah koneksi berhasil dibangun, Anda dapat berinteraksi dengan server menggunakan pesan teks. Alat ini menyediakan kolom input pesan yang mendukung pengiriman satu pesan teks dalam satu waktu. Untuk mengirimkan pesan yang telah ditulis, Anda dapat memilih tombol "Kirim pesan" atau menggunakan pintasan keyboard Ctrl+Enter atau Command+Enter.

Ada beberapa aturan dan batasan kapasitas yang diterapkan untuk menjaga stabilitas browser selama pengujian:

  • Koneksi Aktif: Anda tidak dapat mengirim pesan sebelum koneksi terbentuk. Jika Anda mencoba mengirim pesan dalam kondisi offline, sistem akan menampilkan pesan: "Hubungkan sebelum mengirim pesan".
  • Batasan Panjang Alamat: Alamat WebSocket yang dimasukkan dibatasi maksimal 2.048 karakter. Jika melebihi batas ini, sistem akan menampilkan pesan: "Alamat itu sangat panjang. Simpan di bawah karakter 2,048".
  • Batasan Ukuran Pesan: Pesan teks yang dikirimkan dapat berukuran hingga 100.000 karakter. Jika Anda memasukkan teks yang lebih besar, sistem akan menampilkan peringatan: "Pesan itu luar biasa besarnya. Simpan di bawah karakter 100,000".
  • Penghitung Pesan: Alat ini menyediakan statistik real-time berupa jumlah pesan "Terkirim" dan "Diterima" untuk memudahkan pelacakan volume data.

Memahami Catatan Pesan

Semua aktivitas komunikasi dicatat secara kronologis dalam "Catatan pesan". Setiap entri log dikategorikan berdasarkan jenis aktivitasnya untuk memudahkan analisis:

  • Terkirim: Menunjukkan pesan teks yang dikirim dari klien ke server.
  • Diterima: Menunjukkan pesan yang diterima oleh klien dari server.
  • Acara: Menunjukkan peristiwa penting terkait status koneksi, seperti pembukaan atau penutupan koneksi.

Penanganan Pesan Biner dan Teks

Selain pesan teks biasa yang dilabeli sebagai "Teks", WebSocket juga mendukung transmisi data biner. Jika server mengirimkan data biner, alat ini akan mendeteksinya dan menampilkan label "Pesan biner" diikuti dengan ukuran data dalam satuan "byte".

Batasan Tampilan Log dan Pemotongan Data

Untuk memastikan halaman web tetap responsif dan tidak mengalami crash akibat volume data yang terlalu besar, aturan pemotongan log berikut diterapkan secara otomatis:

  • Kapasitas Log: Catatan pesan hanya mempertahankan maksimal 500 entri. Jika jumlah aktivitas melebihi batas ini, entri lama akan dihapus dan sistem menampilkan pesan: "Entri log lama ‹count› telah dihapus agar halaman ini tetap responsif.".
  • Pemotongan Karakter: Setiap entri log individu hanya menampilkan maksimal 20.000 karakter. Jika pesan yang diterima atau dikirim melebihi batas tersebut, teks akan dipotong dan ditandai dengan pesan: "‹count› lebih banyak karakter yang disembunyikan di pratinjau ini.".
  • Pembersihan Log: Anda dapat memilih opsi "Hapus catatan" untuk membersihkan semua tampilan log. Tindakan ini hanya menghapus entri yang ditampilkan di layar dan tidak akan memutuskan koneksi aktif atau mengatur ulang penghitung pesan.

Interpretasi Kode Penutupan (Close Code)

Ketika koneksi WebSocket berakhir, protokol WebSocket (RFC 6455) mewajibkan pengiriman kode numerik yang menunjukkan alasan penutupan tersebut. Alat ini menampilkan informasi penutupan secara rinci dalam format: "Ditutup dengan kode ‹code› (‹clean›). Alasan: ‹reason›".

Komponen dari status penutupan ini meliputi:

  • Tutup kode: Kode numerik standar (misalnya, 1000 untuk penutupan normal, atau 1006 jika koneksi terputus secara tidak normal).
  • Status Kebersihan (‹clean›): Menunjukkan apakah proses penutupan terjadi secara "bersih" (kedua belah pihak berhasil menyelesaikan jabat tangan penutupan) atau "tidak bersih" (koneksi terputus tiba-tiba di tingkat jaringan).
  • Alasan (‹reason›): Deskripsi teks yang dikirimkan oleh server untuk menjelaskan mengapa koneksi ditutup. Jika server menutup koneksi tanpa memberikan penjelasan, alat akan menampilkan teks default: "Tidak ada alasan yang diberikan".

Batasan Teknis Berbasis Browser

Klien Uji WebSocket ini beroperasi sepenuhnya di dalam lingkungan sandbox browser Anda. Oleh karena itu, alat ini memiliki batasan teknis yang diwarisi dari API WebSocket standar browser:

  • Header Kustom: Alat ini tidak dapat menambahkan header jabat tangan kustom (custom handshake headers) karena browser tidak mengizinkan modifikasi header HTTP pada inisiasi WebSocket.
  • Kesalahan Sertifikat: Alat tidak dapat melewati kesalahan sertifikat SSL/TLS. Jika sertifikat server tujuan tidak valid atau kedaluwarsa, browser akan memblokir koneksi demi keamanan.
  • Aturan Akses: Alat tidak dapat mengesampingkan aturan akses server, termasuk kebijakan Same-Origin Policy atau batasan CORS yang diterapkan oleh browser.
  • Bingkai Kontrol Tingkat Rendah: Alat tidak dapat mengekspos fragmen tingkat jaringan atau bingkai kontrol seperti Ping dan Pong. Bingkai-bingkai ini dikelola secara otomatis oleh mesin browser dan tidak diekspos ke lapisan aplikasi.

Kebijakan Privasi dan Pemrosesan Data

Keamanan dan privasi data Anda terjaga sepenuhnya selama pengujian. Seluruh proses komunikasi dan pengolahan data terjadi secara lokal di dalam browser Anda. Tidak ada data, alamat WebSocket, atau isi pesan yang diunggah ke BroBroGo atau disimpan oleh halaman ini. Alamat dan pesan Anda dikirim langsung dari browser Anda ke server WebSocket yang Anda pilih.

Meskipun demikian, Anda disarankan untuk tetap berhati-hati saat melakukan pengujian. Hapus pengenal pribadi dan informasi hukum, keuangan, atau kesehatan yang sensitif sebelum terhubung. Browser Anda mengirimkan pesan langsung ke server yang Anda masuki, dan halaman ini tidak dapat mengontrol bagaimana server tujuan tersebut mencatat atau menyimpan data Anda.


Pertanyaan yang Sering Diajukan (FAQ)

Data WebSocket apa yang dapat saya periksa di sini?

Anda dapat melihat setiap pesan teks atau biner yang diekspos oleh browser Anda, arahnya, waktu dan ukurannya, ditambah kode penutupan akhir, alasan dan status penutupan bersih. Halaman browser tidak dapat mengekspos fragmen tingkat jaringan atau bingkai kontrol Ping dan Pong.

Mengapa koneksi gagal meskipun alamatnya berfungsi di tempat lain?

Pada halaman yang aman, browser mungkin memerlukan wss://. Server juga harus menerima koneksi browser dan asal halaman. Klien ini tidak dapat menambahkan header jabat tangan khusus, melewati kesalahan sertifikat, atau mengesampingkan aturan akses server.

Bisakah saya menguji dengan data produksi atau data sensitif?

Gunakan data sintetis bila memungkinkan. Hapus nama, rincian akun, catatan hukum, informasi keuangan dan informasi kesehatan sebelum mengirim. Pesan dikirim ke server yang Anda pilih, yang aturan pencatatan dan penyimpanannya berada di luar kendali halaman ini.