Documentation Index
Fetch the complete documentation index at: https://mintlify.com/zhcndoc/bun/llms.txt
Use this file to discover all available pages before exploring further.
Bun provides built-in WebSocket support via Bun.serve().
Basic WebSocket Server
Bun.serve({
port: 3000,
fetch(req, server) {
const success = server.upgrade(req);
if (success) return undefined;
return new Response("Upgrade failed", { status: 500 });
},
websocket: {
open(ws) {
console.log("Client connected");
},
message(ws, message) {
console.log("Received:", message);
ws.send(`Echo: ${message}`);
},
close(ws) {
console.log("Client disconnected");
},
},
});
console.log("WebSocket server running at ws://localhost:3000");
Client
const ws = new WebSocket("ws://localhost:3000");
ws.onopen = () => {
console.log("Connected");
ws.send("Hello Server");
};
ws.onmessage = (event) => {
console.log("Received:", event.data);
};
See WebSocket API for complete documentation.