Skip to content

Getting Started with @briklab/slokr

slokr exposes a server API with event listeners, per-client replies, and room broadcasting.

Start a Hybrid Server

ts
import slokr, { Slokr } from "@briklab/slokr";

const server = slokr(Slokr.Hybrid, 3000, "0.0.0.0");
await server.connected;

Listen for Connections

ts
server.on("connection", (_, client) => {
  console.log("Connected:", client.client.ip, client.client.from);
  client.join("global");
});

server.on("close", () => {
  console.log("Client disconnected");
});

Handle App Events

ts
server.on("chat:message", async (payload, client) => {
  await server.sendTo(client, "chat:ack", { ok: true, at: Date.now() });
  await server.rooms("global").broadcast("chat:message", payload);
});

Receive Once with Timeout

ts
try {
  const data = await server.receive("bootstrap", 5000);
  console.log("bootstrap payload", data);
} catch (error) {
  console.error("bootstrap timed out", error);
}

Next Steps