启用 WebSocket 消息压缩
设置 perMessageDeflate 参数以启用 permessage-deflate WebSocket 扩展。随后,Bun 会与支持该扩展的客户端协商压缩。除非针对每条消息选择启用压缩(见下文),否则通过 ws.send() 发送的消息仍不会被压缩。
Bun.serve({
// ...
websocket: {
// 启用压缩
perMessageDeflate: true,
},
});
要为单条消息启用压缩,请将 true 作为第二个参数传递给 ws.send()。这要求已启用 perMessageDeflate;否则 Bun 会以未压缩的形式发送消息。
Bun.serve({
// ...
websocket: {
perMessageDeflate: true,
async message(ws, message) {
// 发送压缩消息
ws.send(message, true);
},
},
});