我正在NestJS7中实现一个WebSocket网关,如文档所示。我使用WS适配器。
const app = await NestFactory.create(ApplicationModule);
app.useWebSocketAdapter(new WsAdapter(app));
我遇到的问题是网关接受连接而不管url是什么。所以举个例子,如果我这样定义我的网关:
@WebSocketGateway(8080, {namespace: '/v3'}
export class MyGateway {}
然后,不管客户端请求的路径如何,都会触发此网关的handleConnection
:
ws://localhost:8080/some-other-path
不幸的是,这意味着所有客户端都连接到每个网关。名称空间选项是否仅适用于socket.io适配器?
1条答案
按热度按时间ldxq2e6h1#
您需要指定
path
选项:然后,您可以连接:
平台
ws
不支持命名空间。这是socket.io
的一个特性。参考:https://github.com/nestjs/nest/issues/4968#issuecomment-772494179