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);
}