執行環境套件管理器打包器測試執行器程式碼檢查格式化指南參考部落格意見回饋

啟用 WebSocket 訊息壓縮

設定 perMessageDeflate 引數以啟用 permessage-deflate WebSocket 擴充套件。隨後,Bun 會與支援該擴充套件的客戶端協商壓縮。除非針對每條訊息選擇啟用壓縮(見下文),否則通過 ws.send() 傳送的訊息仍不會被壓縮。

server.ts
Bun.serve({
  // ...
  websocket: {
    // 啟用壓縮
    perMessageDeflate: true,
  },
});

要為單條訊息啟用壓縮,請將 true 作為第二個引數傳遞給 ws.send()。這要求已啟用 perMessageDeflate;否則 Bun 會以未壓縮的形式傳送訊息。

server.ts
Bun.serve({
  // ...
  websocket: {
    perMessageDeflate: true,
    async message(ws, message) {
      // 傳送壓縮訊息
      ws.send(message, true);
    },
  },
});