---
url: https://docs.ogmabox.com/zh-Hant/app/ws-replay.md
description: 在 Ogma 中重新連接 WebSocket 端點、編輯訊框，並重新傳送擷取的訊息。
---

# WebSocket 重送 {#websocket-replay}

WebSocket 重送可建立能重複使用的工作階段，用於測試 WebSocket 端點。你可以使用擷取的交握詳細資料重新連線、編輯訊息、傳送新訊框，並觀察伺服器回應。

## 建立工作階段 {#creating-a-session}

有兩種建立 WebSocket 重送工作階段的方式：

* 在 **WS／SSE 歷程記錄**中，於擷取的 WebSocket 訊息上按一下滑鼠右鍵，選擇**傳送至 WS 重送工具**。
* 開啟 **WS 重送**，使用 `ws://` 或 `wss://` URL 手動建立工作階段。

手動建立的工作階段可包含自訂標頭，用於 Cookie、授權權杖、協定協商，或應用程式專屬的交握值。

## 工作階段設定 {#session-setup}

| 欄位 | 說明 |
| --- | --- |
| 名稱 | 易於閱讀的工作階段標籤。 |
| URL | WebSocket 端點。URL 必須以 `ws://` 或 `wss://` 開頭。 |
| 標頭 | 連線時傳送的選填交握標頭。 |

若變更 URL 或標頭，Ogma 會在開啟下一個連線前儲存工作階段。

## 連線 {#connecting}

選擇工作階段，按一下**連線**。連線狀態會顯示通訊端是未連線、正在連線、已開啟、正在關閉，還是已關閉。

切換目標或變更交握詳細資料前，請使用**中斷連線**。編輯 URL 或標頭後重新連線，測試新的伺服器路徑或已通過驗證的環境。

連線只會完成 WebSocket 交握。許多應用程式之後還需要驗證或初始化訊框，才會接受業務訊息。請以擷取的第一則用戶端訊息作為基準，等待其確認回覆後，再傳送修改的訊息。擷取的 Cookie、附有簽章的 URL 和權杖可能已過期。

## 傳送訊息 {#sending-messages}

使用訊息編輯區編輯酬載，並透過選取的工作階段傳送。文字酬載會以 WebSocket 文字訊框傳送。

要傳送十六進位位元組，請切換至二進位模式。**重送擷取的第一則 WebSocket 訊息**有助於重新傳送初始化訊息，**依序重送擷取的對外訊息**則會依序傳送擷取的用戶端訊息。請在時間軸中檢查回覆，不要假設傳送序列就已重建應用程式狀態。

協定編輯器支援原始 WebSocket 和受管理的 GraphQL 模式（`graphql-transport-ws` 和舊版 `graphql-ws`）。請選擇目標使用的協定，並提供其連線參數。必要時保留原始子協定標頭；要求錯誤的協定可能導致升級失敗。

**更新時間戳記**預設關閉。只有未簽章的請求需要新時間戳記時才啟用：變更附有簽章的 URL 或酬載可能使簽章失效。**自動重新連線**會在連線中斷後重試，但新的連線仍可能需要應用層驗證。

從歷程記錄傳送的擷取訊息，會保留原始酬載作為起點，讓你能一次變更一個欄位並比較行為。

## 訊息時間軸 {#message-timeline}

時間軸記錄所選工作階段傳送和接收的訊框。

| 欄位 | 說明 |
| --- | --- |
| 方向 | 訊框是由用戶端傳送，還是從伺服器接收。 |
| 操作碼 | 訊框類型，例如 text、binary、ping、pong 或 close。 |
| 大小 | 酬載大小。 |
| 時間 | Ogma 觀察到訊框的時間。 |

選擇訊息即可檢視其酬載。JSON 酬載會在可行時格式化；原始內容仍可用於精確檢查。

## 測試流程 {#testing-workflow}

1. 在 **WS／SSE 歷程記錄**中擷取正常的 WebSocket 互動流程。
2. 將值得注意的用戶端訊息傳送至 **WS 重送**。
3. 重新連線並重新傳送原始訊息，確認基準行為。
4. 每次修改一個欄位、權杖、ID 或指令。
5. 在**檢測發現**中記錄已確認的行為，或在**筆記**中保留記錄。

## 疑難排解 {#troubleshooting}

| 症狀 | 檢查內容 |
| --- | --- |
| 升級被拒絕或禁止 | URL、Origin、Cookie、授權，以及已過期的附有簽章的查詢值。 |
| 子協定無效或未要求 | 將升級標頭與擷取的交握及所選協定模式進行比較。 |
| 連線成功後關閉 | 檢查系統/關閉訊息，並傳送必要的初始化或驗證訊框。 |
| 訊息已傳送，但沒有有用的回覆 | 確認訂閱 ID、先前的訊息、驗證和應用程式狀態；WebSocket 傳輸不會自動重建瀏覽器工作階段。 |

使用 MCP 時，請使用專用的 WS 重送訊息清單/讀取工具和中斷連線工具。擷取歷程記錄工具讀取的是另一份通訊記錄；請參閱 [MCP 工具參考](../reference/mcp-tools.md#websocket-and-sse)。

## 相關頁面 {#related-pages}

* [WebSocket 與 SSE 歷程記錄](./ws-sse-history.md)
* [重送](./replay.md)
* [檢測發現](./findings.md)
