我正在尝试在我的 nestjs 后端创建一个房间,但找不到关于此主题的任何信息。您可以找到文档 here .文档似乎没有关于这个主题的任何内容。
import {
SubscribeMessage,
WebSocketGateway,
WebSocketServer,
WsResponse,
} from '@nestjs/websockets';
import { Client, Server } from 'socket.io';
@WebSocketGateway({namespace: 'story'})
export class StoryEventsGateway {
@WebSocketServer()
server: Server;
@SubscribeMessage('createRoom')
createRoom(client: Client, data: string): WsResponse<unknown> {
return { event: 'roomCreated', data };
}
}
最佳答案
通过将client: Client
更改为socket: Socket
,您可以使用您在使用socket.io 时习惯使用的套接字对象。 .
这是编辑后的函数。
import { Socket } from 'socket.io';
import { WsResponse } from '@nestjs/websockets';
createRoom(socket: Socket, data: string): WsResponse<unknown> {
socket.join('aRoom');
socket.to('aRoom').emit('roomCreated', {room: 'aRoom'});
return { event: 'roomCreated', room: 'aRoom' };
}
关于node.js - 如何使用 nestjs 和 socket.io 创建房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55949600/