Skip to content

Inicia un servidor WebSocket simple usando Bun.serve.

Dentro de fetch, intentamos actualizar las solicitudes entrantes ws: o wss: a conexiones WebSocket.

ts
const server = Bun.serve({
  fetch(req, server) {
    const success = server.upgrade(req);
    if (success) {
      // Bun devuelve automáticamente un 101 Switching Protocols
      // si la actualización tiene éxito
      return undefined;
    }

    // manejar la solicitud HTTP normalmente
    return new Response("Hello world!");
  },
  websocket: {
    // TypeScript: especificar el tipo de ws.data así
    data: {} as { authToken: string },

    // esto se llama cuando se recibe un mensaje
    async message(ws, message) {
      console.log(`Recibido ${message}`);
      // enviar de vuelta un mensaje
      ws.send(`Dijiste: ${message}`);
    },
  },
});

console.log(`Escuchando en ${server.hostname}:${server.port}`);

Bun por www.bunjs.com.cn editar