websocket cursor data broadcast
This commit is contained in:
41
src/ws/state/state.gateway.ts
Normal file
41
src/ws/state/state.gateway.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { Logger } from '@nestjs/common';
|
||||
import {
|
||||
OnGatewayConnection,
|
||||
OnGatewayDisconnect,
|
||||
OnGatewayInit,
|
||||
SubscribeMessage,
|
||||
WebSocketGateway,
|
||||
WebSocketServer,
|
||||
} from '@nestjs/websockets';
|
||||
|
||||
import { Server, Socket } from 'socket.io';
|
||||
|
||||
@WebSocketGateway()
|
||||
export class StateGateway
|
||||
implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect
|
||||
{
|
||||
private readonly logger = new Logger(StateGateway.name);
|
||||
|
||||
@WebSocketServer() io: Server;
|
||||
|
||||
afterInit() {
|
||||
this.logger.log('Initialized');
|
||||
}
|
||||
|
||||
handleConnection(client: Socket) {
|
||||
const { sockets } = this.io.sockets;
|
||||
|
||||
this.logger.log(`Client id: ${client.id} connected`);
|
||||
this.logger.debug(`Number of connected clients: ${sockets.size}`);
|
||||
}
|
||||
|
||||
handleDisconnect(client: Socket) {
|
||||
this.logger.log(`Cliend id:${client.id} disconnected`);
|
||||
}
|
||||
|
||||
@SubscribeMessage('cursor-report-position')
|
||||
handleCursorReportPosition(client: Socket, data: any) {
|
||||
this.logger.log(`Message received from client id: ${client.id}`);
|
||||
this.logger.debug(`Payload: ${JSON.stringify(data, null, 0)}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user