Gateway 是用@WebSocketGateway() 装饰的类。Gateway 的内部使用了 socket.io,不过你也可以使用其它的库,比如原生的 Web sockets。Gateway 就像是一个简单的 provider,你可以通过构造方法给它注入依赖,你也可以在其它的类里面注入使用 gateway 。
安装
先得安装需要的包:
npm install @nestjs/websockets @nestjs/platform-socket.io --save npm install @types/socket.io --save-dev
预览
一般情况下,每个 gateway 监听的端口跟 HTTP 服务器用的端口一样,除非你的应用不是一个 Web 应用,或者你修改了端口。你可以给 @WebSocketGateway 装饰器提供一个参数,比如 @WebSocketGateway(80),这里的 80 就是选择使用的端口。你还可以设置 gateway 使用的 namespace 。