Skip to content

WebSockets

标准 WebSocket 升级,以及 Durable Object 上的 hibernation。

ts
export default {
  async fetch(request: Request): Promise<Response> {
    if (request.headers.get("Upgrade") !== "websocket") {
      return new Response("expected websocket", { status: 426 });
    }
    const pair = new WebSocketPair();
    pair[1].accept();
    pair[1].send("hello");
    return new Response(null, { status: 101, webSocket: pair[0] });
  },
} satisfies ExportedHandler;

DO hibernation:state.acceptWebSocket、tags、webSocketMessage / webSocketClose / webSocketError、serialize/deserialize attachment。对照 WebSockets 与 Durable Objects 的 hibernation API。

兼容性

主题Cloudflareopen-compute
WebSocketPairaccept()、消息与关闭
hibernation:accept / tags / get、auto-response、attachment 重建
连接落地Cloudflare 边缘网络升级本机一个 workerd
duration 计费不提供
Durable Object 位置全球 placement本机