Implement OnGatewayInit and OnGatewayDisconnect

master
Kevin C. Coram 2020-10-12 12:22:24 -04:00
parent 2ef8c15f63
commit 96b9eac4f7
Signed by: kevin
GPG Key ID: 0E64ECB9EDE572A3
1 changed files with 14 additions and 2 deletions

View File

@ -6,15 +6,18 @@ import {
import { Logger } from '@nestjs/common'; import { Logger } from '@nestjs/common';
import { import {
OnGatewayConnection, OnGatewayConnection,
OnGatewayDisconnect,
OnGatewayInit,
SubscribeMessage, SubscribeMessage,
WebSocketGateway, WebSocketGateway,
WebSocketServer, WebSocketServer,
} from '@nestjs/websockets'; } from '@nestjs/websockets';
import { AppService } from './app.service'; import { AppService } from './app.service';
import { Server,Socket } from 'socket.io'; import { Server, Socket } from 'socket.io';
@WebSocketGateway(4001) @WebSocketGateway(4001)
export class AppGateway implements OnGatewayConnection { export class AppGateway
implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
@WebSocketServer() @WebSocketServer()
wss: Server; wss: Server;
@ -22,10 +25,19 @@ export class AppGateway implements OnGatewayConnection {
constructor(private appService: AppService) {} constructor(private appService: AppService) {}
afterInit(server: Server) {
this.logger.log('Initialized...');
}
handleConnection(client: Socket, ...args: any[]) { handleConnection(client: Socket, ...args: any[]) {
this.logger.log(`Client connected: ${client.id}`);
client.emit(MESSAGE_TO_CLIENT, this.appService.getMessages()); client.emit(MESSAGE_TO_CLIENT, this.appService.getMessages());
} }
handleDisconnect(client: Socket) {
this.logger.log(`Client disconnected: ${client.id}`);
}
@SubscribeMessage(MESSAGE_TO_SERVER) @SubscribeMessage(MESSAGE_TO_SERVER)
handleMessage(client: Socket, payload: Message): void { handleMessage(client: Socket, payload: Message): void {
this.logger.log(payload); this.logger.log(payload);