Skip to content

Starten Sie einen einfachen WebSocket-Server mit Bun.serve.

Innerhalb von fetch versuchen wir, eingehende ws:- oder wss:-Anfragen zu WebSocket-Verbindungen zu aktualisieren.

ts
const server = Bun.serve({
  fetch(req, server) {
    const success = server.upgrade(req);
    if (success) {
      // Bun gibt automatisch 101 Switching Protocols zurück
      // wenn die Aktualisierung erfolgreich ist
      return undefined;
    }

    // HTTP-Anfrage normal behandeln
    return new Response("Hallo Welt!");
  },
  websocket: {
    // TypeScript: Geben Sie den Typ von ws.data so an
    data: {} as { authToken: string },

    // dies wird aufgerufen, wenn eine Nachricht empfangen wird
    async message(ws, message) {
      console.log(`Empfangen: ${message}`);
      // eine Nachricht zurücksenden
      ws.send(`Sie sagten: ${message}`);
    },
  },
});

console.log(`Lauscht auf ${server.hostname}:${server.port}`);

Bun von www.bunjs.com.cn bearbeitet