WebSockets
The WebSockets are classes decorated with the @WebSocketServer() decorator,
and they can implement the lifecycle interfaces OnWebSocketInit and OnWebSocketDestroy.
The events received from the WebSocket server can be intercepted with the @ConsumeEvent() decorator.
Note that all the events routed through the WebSockets have the ws. prefix.
Also, the server instantiated by the framework can be injected with the @GetWebSocketServer() decorator.
@WebSocketServer(8899)
export class TestWebsocket implements OnWebSocketInit, OnWebSocketDestroy {
@GetWebSocketServer()
private server: Server;
onWebSocketDestroy(): void {
console.log('I have been destroyed', TestWebsocket.name);
}
onWebSocketInit(): void {
console.log('I have been initialized', TestWebsocket.name);
console.log('Socket max listeners', this.server.getMaxListeners());
}
@ConsumeEvent('ws.test')
test(data: EventPayload<any>) {
console.log('on event', data);
}
}