nestJS/websocket中@WebSocketServer()的用途是什么?

rvpgvaaj  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(138)

我正在学习在nestJS框架下的web服务器的webSocket管理。
当我阅读nestJS文档(https://docs.nestjs.com/websockets/gateways)时,他们只谈到了3行关于@WebSocketServer()的内容:
有时,您可能希望直接访问特定于平台的本机服务器示例。对此对象的引用作为参数传递给afterInit()方法(OnGatewayInit接口)。另一个选项是使用@WebSocketServer()装饰器。

@WebSocketServer()
server: Server;

谷歌没有帮我给我更多的信息。源代码注解是:"(别名)网络套接字服务器():PropertyDecorator import WebSocketServer将本地Web套接字服务器附加到给定的属性。"
现在我明白了

@WebSocketServer()
server: Server;

相当于:

afterInit() {
server: new Server();
}

不可能只是这样?还是这样?

unftdfkk

unftdfkk1#

大多数情况下,您将使用网关@WebSocketGateway(80,{命名空间:'events' }),只有在位于websocket处理程序之外时才需要使用 @WebSocketServer,如下所示

@WebSocketServer()
private server: Server;

emitMessage(channel: string, message: string) {
  this.server.emit(channel, message);
}

相关问题