Skip to content

Démarrez un simple serveur WebSocket en utilisant Bun.serve.

Dans fetch, nous tentons de mettre à niveau les requêtes entrantes ws: ou wss: vers des connexions WebSocket.

ts
const server = Bun.serve({
  fetch(req, server) {
    const success = server.upgrade(req);
    if (success) {
      // Bun retourne automatiquement un 101 Switching Protocols
      // si la mise à niveau réussit
      return undefined;
    }

    // gérer la requête HTTP normalement
    return new Response("Hello world!");
  },
  websocket: {
    // TypeScript : spécifiez le type de ws.data comme ceci
    data: {} as { authToken: string },

    // ceci est appelé lorsqu'un message est reçu
    async message(ws, message) {
      console.log(`Reçu ${message}`);
      // renvoyer un message
      ws.send(`Vous avez dit : ${message}`);
    },
  },
});

console.log(`Écoute sur ${server.hostname}:${server.port}`);

Bun édité par www.bunjs.com.cn