nest中使用websocket

nest中使用websocket

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

本文介绍了在Nest中使用socket.io等WebSocket库创建websocket服务的基本API,包括装饰类、配置对象、事件处理函数和发送消息等。同时提到了在http和websocket使用同一端口时需要注意的问题。

🎯

关键要点

  • 在Nest中使用socket.io等WebSocket库创建websocket服务需要创建被@WebSocketGateway()装饰的类。
  • WebSocket生命周期由三个固定名称的钩子函数控制:afterInit()、handleConnection()和handleDisconnect()。
  • 使用socket.io创建服务器时需要进行相关配置,如跨域等。
  • 在Nest中,只需将配置对象传入注解即可,支持设置websocket的端口。
  • socket.io中最重要的是发送和接收事件消息,使用@SubscribeMessage()注解装饰事件处理函数。
  • 要在Nest中使用socket.io发送消息,需要使用@WebSocketServer()注解修饰成员变量以获得服务器实例。
  • WebSocket网关类类似于被@Injectable()的类,可以通过构造函数注入其它Service。
  • 如果http和websocket使用同一端口,可能会发生跨域问题,解决办法是配置客户端只允许建立WebSocket连接或使用单独的端口。
🏷️

标签

➡️

继续阅读