首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在NestJS中@nestjs/websockets和@nestjs/platform-socket.io包之间有什么区别?

在NestJS中@nestjs/websockets和@nestjs/platform-socket.io包之间有什么区别?
EN

Stack Overflow用户
提问于 2022-08-12 21:02:14
回答 1查看 62关注 0票数 0

我在网上研究了这个话题,并发现了与此类似的问题,但是,我需要知道为什么在NestJS中我们必须使用两个包来实现WebSocket通信。

两个包裹是,

  • @nestjs/websockets
  • @nestjs/platform-socket.io

我知道WebSocket是协议,Socket.IO是一个库,它既有服务器版本,也有客户端版本。

在NestJS的网关文件中,当实现WebSocket连接时,必须编写类似于下面的代码。

代码语言:javascript
运行
复制
import {
  ConnectedSocket,
  MessageBody,
  OnGatewayConnection,
  OnGatewayDisconnect,
  SubscribeMessage,
  WebSocketGateway,
  WebSocketServer,
} from '@nestjs/websockets';

import { Server } from 'socket.io';

我的问题

  1. WebSocketServerServer在这里有什么区别?

为什么我们从@nestjs/platform-socket.io而不是从socket.io导入Server

  1. 如何在一个句子中描述使用这些包的目的?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-12 21:06:43

@nestjs/websockets是使websocket在NestJS中集成成为可能的基本包。@nestjs/platform-socket.io是用于socket.io集成的特定包,而不是用于ws包的@nestjs/platform-ws

WebsocketServer是告诉Nest注入websocket服务器的装饰器,Server是服务器的socket.io类型。

我们从Socket中导入socket.io,因为@nestjs/platform-socket.io实际上只是用于插入Nest平台的websocket适配器。

单句:

  • @nestjs/websockets:允许通过websocket adapter
  • @nestjs/platform-socket.io:socket.io websocket适配器进行websocket通信,以允许socket.io websocket与server
  • socket.io:进行通信,这是一个与NestJS

一起使用的websocket实现和引擎。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73339762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档