nestjs websocket 配置

src/socket/socket.module.ts

1
2
3
4
@Module({
providers: [SocketGateway, SocketService],
})
export class SocketModule {}

src/socket/socket.service.ts

1
2
@Injectable()
export class SocketService {}

src/socket/socket.gateway.ts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@WebSocketGateway({
cors: {
origin: '*',
},
})
export class SocketGateway {
@WebSocketServer()
server: Server;

afterInit(server: Server) {
console.log('Socket server initialized');
}

@SubscribeMessage('message')
handleMessage(client: Socket, payload: any): void {
this.server.emit('message', `server: ${JSON.stirify(payload)}`);
}
}

src/app.module.ts

1
2
3
4
5
6
@Module({
imports: [SocketModule],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}