Ruk*_*nJS 0 websocket socket.io nestjs
我在网上研究了这个主题,并发现了与此几乎相似的问题 - 但是,我需要知道为什么在 NestJS 中我们必须使用两个包来实现 WebSocket 通信。
这两个包是,
我知道 WebSocket 是一种协议,而 Socket.IO 是一个库,它有服务器版本和客户端版本。
在NestJS的网关文件中实现WebSocket连接时,必须编写类似以下的代码。
import {
ConnectedSocket,
MessageBody,
OnGatewayConnection,
OnGatewayDisconnect,
SubscribeMessage,
WebSocketGateway,
WebSocketServer,
} from '@nestjs/websockets';
import { Server } from 'socket.io';
Run Code Online (Sandbox Code Playgroud)
我的问题,
WebSocketServer和这里有什么区别Server?
为什么我们从 导入而不是Server从导入?socket.io@nestjs/platform-socket.io
您如何用一句话描述使用每个包的目的?
@nestjs/websockets是使 NestJS 中的 websocket 集成成为可能的基础包。@nestjs/platform-socket.io是用于集成的特定包socket.io,而不是类似@nestjs/platform-ws用于ws包的东西。
WebsocketServer是告诉 Nest 注入 websocket 服务器的装饰器,是服务器的Serversocket.io类型。
我们导入Socketfromsocket.io因为@nestjs/platform-socket.io实际上只是用于插入 Nest 平台的 websocket 适配器。
单句:
@nestjs/websockets:允许通过 websocket 适配器进行 websocket 通信@nestjs/platform-socket.io:socket.io websocket适配器允许socket.io websocket与服务器通信socket.io:一个 websocket 实现和引擎,无论有没有 NestJS 都可以使用| 归档时间: |
|
| 查看次数: |
1145 次 |
| 最近记录: |