bun-websocket-server

Solid

This skill should be used when the user asks about "WebSocket in Bun", "real-time communication", "Bun.serve websocket", "ws server", "socket connections", "pub/sub", "broadcasting messages", "WebSocket upgrade", or building real-time applications with Bun.

Web & Frontend 162 stars 25 forks Updated 2 weeks ago MIT

Install

View on GitHub

Quality Score: 88/100

Stars 20%
74
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Bun WebSocket Server Bun has built-in WebSocket support integrated with `Bun.serve()`. ## Quick Start ```typescript const server = Bun.serve({ fetch(req, server) { // Upgrade to WebSocket if (server.upgrade(req)) { return; // Upgraded successfully } return new Response("Not a WebSocket request", { status: 400 }); }, 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 on ws://localhost:${server.port}`); ``` ## WebSocket Handlers ```typescript Bun.serve({ fetch(req, server) { server.upgrade(req); }, websocket: { // Client connected open(ws) { console.log("New connection"); }, // Message received message(ws, message) { // message is string | Buffer if (typeof message === "string") { console.log("Text:", message); } else { console.log("Binary:", message); } }, // Connection closed close(ws, code, reason) { console.log(`Closed: ${code} - ${reason}`); }, // Drain event (buffer flushed) drain(ws) { console.log("Buffer drained"); }, // Ping received ping(ws, data) { // Pong sent automatically }, // Pong received pong(ws, data) { console.log("Pong received"); ...

Details

Author
secondsky
Repository
secondsky/claude-skills
Created
6 months ago
Last Updated
2 weeks ago
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category