NestJS + Socket.io:没有收到消息
Posted
技术标签:
【中文标题】NestJS + Socket.io:没有收到消息【英文标题】:NestJS + Socket.io: No messages received 【发布时间】:2020-10-19 22:01:57 【问题描述】:我正在使用 socketio 开发 NestJS 后端。
很遗憾,我遇到了问题。我在服务器上运行这段代码:
import WebSocketGateway, WebSocketServer, SubscribeMessage, OnGatewayConnection, OnGatewayDisconnect from '@nestjs/websockets';
import Socket, Server from 'socket.io';
import Logger from '@nestjs/common';
@WebSocketGateway()
export class SettingsGateway implements OnGatewayConnection, OnGatewayDisconnect
@WebSocketServer() server;
users: number = 0;
async handleConnection()
Logger.log("Hello! New user!")
async handleDisconnect()
@SubscribeMessage('settingsChange')
handleMessage(client:Socket, payload:string):void
Logger.log("received message");
然后得到“你好!新用户!”消息,但服务器从不显示“收到的消息”字符串。在客户端,我使用这个发送一条消息:
console.log("Emit stage activated")
this.socket.emit('settingsChange',setting)
并获取“激活发射阶段”控制台日志,这样我就知道该命令至少正在运行。
有人知道发生了什么吗?感谢您的帮助!
另外:socket.io 和 socket.io-client 都是 v6.9.0
【问题讨论】:
【参考方案1】:找到解决方案:前端应用程序连接到后端的 API 挂钩,而不是实际的后端,导致连接良好,但不是通过 websockets。
【讨论】:
以上是关于NestJS + Socket.io:没有收到消息的主要内容,如果未能解决你的问题,请参考以下文章
在 NestJs 中使用 Socket IO 加入和发射到房间
从 socket.io 收到消息时从客户端播放音频 - node.js