import { createApplication } from '@setu-ts/kernel';import { RuntimePlugin } from '@setu-ts/runtime';import { WebSocketPlugin } from '@setu-ts/websocket-plugin';import { CAPABILITIES, type IWebSocketService } from '@setu-ts/common';const app = createApplication({ plugins: [RuntimePlugin(), WebSocketPlugin({ heartbeatMs: 30_000 })],});const ws = app.services.get<IWebSocketService>(CAPABILITIES.WEBSOCKET);ws.route('/ws/chat', { onOpen: (conn, { query }) => { conn.data.set('room', query.room ?? 'lobby'); ws.room(query.room ?? 'lobby').add(conn); }, onMessage: (conn, data) => { ws.room(conn.data.get('room') as string).broadcast(data, { except: conn }); },});await app.start({ port: 3000 }); Copy
import { createApplication } from '@setu-ts/kernel';import { RuntimePlugin } from '@setu-ts/runtime';import { WebSocketPlugin } from '@setu-ts/websocket-plugin';import { CAPABILITIES, type IWebSocketService } from '@setu-ts/common';const app = createApplication({ plugins: [RuntimePlugin(), WebSocketPlugin({ heartbeatMs: 30_000 })],});const ws = app.services.get<IWebSocketService>(CAPABILITIES.WEBSOCKET);ws.route('/ws/chat', { onOpen: (conn, { query }) => { conn.data.set('room', query.room ?? 'lobby'); ws.room(query.room ?? 'lobby').add(conn); }, onMessage: (conn, data) => { ws.room(conn.data.get('room') as string).broadcast(data, { except: conn }); },});await app.start({ port: 3000 });
0.1.0
Example
Since
0.1.0