---
url: https://docs.ogmabox.com/id/app/ws-replay.md
description: >-
  Hubungkan kembali ke endpoint WebSocket, edit frame, dan kirim ulang pesan
  yang direkam di Ogma.
---

# Kirim Ulang WS {#websocket-replay}

Kirim Ulang WS membuat sesi yang dapat digunakan kembali untuk menguji endpoint WebSocket. Gunakan untuk menghubungkan kembali dengan detail handshake yang direkam, mengedit pesan, mengirim frame baru, dan mengamati respons server.

## Membuat Sesi {#creating-a-session}

Buat sesi Kirim Ulang WS dengan dua cara:

* Klik kanan pesan WebSocket yang direkam di **Riwayat WS / SSE** dan pilih **Kirim ke Kirim Ulang WS**.
* Buka **Kirim Ulang WS** dan buat sesi secara manual dengan URL `ws://` atau `wss://`.

Sesi manual dapat menyertakan header kustom untuk cookie, token otorisasi, negosiasi protokol, atau nilai handshake khusus aplikasi.

## Pengaturan Sesi {#session-setup}

| Kolom | Deskripsi |
| --- | --- |
| Nama | Label sesi yang mudah dibaca. |
| URL | Endpoint WebSocket. URL harus dimulai dengan `ws://` atau `wss://`. |
| Header | Header handshake opsional yang dikirim saat menghubungkan. |

Jika Anda mengubah URL atau header, Ogma menyimpan sesi sebelum membuka koneksi berikutnya.

## Menghubungkan {#connecting}

Pilih sesi dan klik **Sambungkan**. Status koneksi menunjukkan apakah socket terputus, sedang menghubungkan, terbuka, sedang menutup, atau tertutup.

Gunakan **Putuskan koneksi** sebelum beralih target atau mengubah detail handshake. Hubungkan kembali setelah mengedit URL atau header untuk menguji path server atau konteks terautentikasi baru.

Menghubungkan hanya menyelesaikan handshake WebSocket. Banyak aplikasi kemudian memerlukan frame autentikasi atau inisialisasi sebelum menerima pesan bisnis. Gunakan pesan klien pertama yang direkam sebagai acuan, tunggu konfirmasinya, lalu kirim pesan yang Anda modifikasi. Cookie yang direkam, URL bertanda tangan, dan token mungkin telah kedaluwarsa.

## Mengirim Pesan {#sending-messages}

Gunakan editor pesan untuk mengedit payload dan mengirimnya melalui sesi terpilih. Payload teks dikirim sebagai frame teks WebSocket.

Beralih ke mode biner untuk byte heksadesimal. **Kirim ulang pesan WebSocket pertama yang direkam** membantu mengirim ulang inisialisasi, dan **Kirim ulang urutan pesan keluar yang direkam** mengirim pesan klien yang direkam secara berurutan. Periksa balasan dalam linimasa, alih-alih menganggap pengiriman urutan telah membentuk kembali status aplikasi.

Editor protokol mendukung mode WebSocket Mentah dan GraphQL terkelola (`graphql-transport-ws` dan `graphql-ws` lama). Pilih protokol yang digunakan target dan berikan parameter koneksinya. Pertahankan header subprotokol asli jika diperlukan; meminta protokol yang salah dapat menggagalkan upgrade.

**Perbarui cap waktu** nonaktif secara default. Aktifkan hanya untuk permintaan tanpa tanda tangan yang memerlukan cap waktu baru: mengubah URL atau payload bertanda tangan dapat membatalkan validitas tanda tangannya. **Sambung ulang otomatis** mencoba kembali setelah koneksi terputus, tetapi koneksi baru mungkin masih memerlukan autentikasi tingkat aplikasi.

Pesan yang dikirim dari riwayat menggunakan payload aslinya sebagai titik awal, sehingga Anda dapat mengubah satu kolom setiap kali dan membandingkan perilakunya.

## Linimasa Pesan {#message-timeline}

Linimasa merekam frame yang dikirim dan diterima untuk sesi terpilih.

| Kolom | Deskripsi |
| --- | --- |
| Arah | Apakah frame dikirim oleh klien atau diterima dari server. |
| Opcode | Jenis frame, seperti text, binary, ping, pong, atau close. |
| Ukuran | Ukuran payload. |
| Waktu | Saat Ogma mengamati frame. |

Pilih pesan untuk memeriksa payload-nya. Payload JSON diformat jika memungkinkan; konten dalam format transmisi tetap tersedia untuk peninjauan yang tepat.

## Alur Kerja Pengujian {#testing-workflow}

1. Rekam alur WebSocket normal di **Riwayat WS / SSE**.
2. Kirim pesan klien yang menarik ke **Kirim Ulang WS**.
3. Hubungkan kembali dan kirim ulang pesan asli untuk memastikan perilaku acuan.
4. Modifikasi satu kolom, token, ID, atau perintah setiap kali.
5. Catat perilaku terkonfirmasi di **Temuan** atau simpan catatan di **Catatan**.

## Pemecahan Masalah {#troubleshooting}

| Gejala | Yang perlu diperiksa |
| --- | --- |
| Upgrade ditolak atau dilarang | URL, Origin, cookie, otorisasi, dan nilai kueri bertanda tangan yang kedaluwarsa. |
| Subprotokol tidak valid atau tidak diminta | Bandingkan Header Upgrade dengan handshake yang direkam dan mode protokol terpilih. |
| Koneksi berhasil, lalu tertutup | Periksa pesan sistem/penutupan dan kirim frame inisialisasi atau autentikasi yang diperlukan. |
| Pesan terkirim tetapi tidak ada balasan berguna | Pastikan ID langganan, pesan sebelumnya, autentikasi, dan status aplikasi; transport WebSocket tidak membentuk kembali sesi peramban secara otomatis. |

Dengan MCP, gunakan alat khusus daftar/baca pesan dan pemutusan koneksi Kirim Ulang WS. Alat riwayat yang direkam membaca transkrip berbeda; lihat [referensi alat MCP](../reference/mcp-tools.md#websocket-and-sse).

## Halaman Terkait {#related-pages}

* [Riwayat WS / SSE](./ws-sse-history.md)
* [Kirim Ulang](./replay.md)
* [Temuan](./findings.md)
