High performance WebSocket framework with rooms, middleware, redis adapter
npm install wassocketHigh-performance WebSocket framework with JWT authentication, auto TLS,
middleware, plugins, rooms, namespaces and Redis scaling.
bash
npm install wassocket
`
Server Example
`js
const { WASSocketServer } = require("wassocket"); const server = new
WASSocketServer({ port: 3000, jwtSecret: "secret" }); server.start();
`Client Example
`js
const { WASSocketClient } = require("wassocket"); const client = new
WASSocketClient("ws://localhost:3000", { token: "JWT" });
client.connect();
`
Advanced API
$3
`js
const chat = server.namespace("/chat"); chat.on("connection", client =\>
{});
`
$3
`js
client.join("room1"); server.to("room1").emit("msg", "hello");
`
$3
`js
server.middleware.usePre(async (ctx, next) =\> { await next(); });
`
$3
`js
function LoggerPlugin(server) { server.on("connection", c =\>
console.log(c.id)); } server.use(LoggerPlugin);
`
Cluster & Redis Scaling
Use RedisAdapter to synchronize packets across multiple instances.
`js
const { RedisAdapter } = require("wassocket/adapters");
server.useAdapter(new RedisAdapter({ url: "redis://localhost:6379" }));
`
Deploy multiple node processes behind a load balancer.Admin Dashboard JWT
Dashboard endpoint requires JWT token. Generate token with same secret
as server. Attach Authorization header: Bearer