nestjs网关向所有连接的套接字发出事件
如何向所有连接的套接字发出事件nestjs网关向所有连接的套接字发出事件,nestjs,Nestjs,如何向所有连接的套接字发出事件 export class EventsGateway { @SubscribeMessage('message') async onEvent(client, data) { // The following is the use of `socket.io` to issue events to all connected sockets. // io.emit('message', data
export class EventsGateway {
@SubscribeMessage('message')
async onEvent(client, data) {
// The following is the use of `socket.io` to issue events to all connected sockets.
// io.emit('message', data);
}
}
如何在nestjs中执行此操作?nestjs允许您使用装饰器创建消息侦听器。在这个方法中,您可以通过返回一个对象来响应客户机 但是,NestJS还允许您使用decorator获取WebSocket实例 要向所有连接的客户端发送事件,您需要使用
WebSocketServer
decorator并使用本机WebSocket实例发出消息,如下所示:
从'@nestjs/websockets'导入WebSocketServer'
导出类事件网关{
@WebSocketServer()服务器;
@SubscribeMessage('消息')
OneEvent(客户端:任意,有效负载:任意):可观察的|任意{
this.server.emit('message',负载);
}
}
NestJS允许您使用装饰器创建消息侦听器。在这个方法中,您可以通过返回一个对象来响应客户机
但是,NestJS还允许您使用decorator获取WebSocket实例
要向所有连接的客户端发送事件,您需要使用WebSocketServer
decorator并使用本机WebSocket实例发出消息,如下所示:
从'@nestjs/websockets'导入WebSocketServer'
导出类事件网关{
@WebSocketServer()服务器;
@SubscribeMessage('消息')
OneEvent(客户端:任意,有效负载:任意):可观察的|任意{
this.server.emit('message',负载);
}
}
虽然这可能回答了作者的问题,但它缺少一些解释性词语和文档链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案。虽然这可能会回答作者的问题,但它缺少一些解释文字和文档链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案。这是一个很好的问题,如果很多人找不到合适的文档或不理解他们正在使用的摘要,他们可能会搜索这个问题,不知道为什么会有人投反对票。这是一个很好的问题,如果很多人找不到合适的文档或不理解他们正在处理的抽象,他们可能会搜索,也不知道为什么会有人投反对票。