【问题标题】:SocketIO can't emit to roomSocketIO 不能发射到房间
【发布时间】:2016-05-15 22:02:35
【问题描述】:

每当我尝试向房间发射时,我的服务器上都会收到此错误消息:

TypeError: Object #<Manager> has no method 'in'
    at Query.<anonymous> (/root/server.js:553:19)
    at /root/node_modules/mongoose/node_modules/kareem/index.js:177:19
    at /root/node_modules/mongoose/node_modules/kareem/index.js:109:16
    at process._tickCallback (node.js:419:13)

我的代码:

var socketio = require('socket.io');
var router = express();
var server = http.createServer(router);
var io = socketio.listen(server);
io.in(room).emit("inGame",Date.now()+10000);`

【问题讨论】:

  • 你能分享一些代码而不是错误和单行代码吗?
  • 添加了更多信息,其他每段代码都无关紧要。
  • 什么是变量“room”,语法“io.in().emit”的文档在哪里?
  • 变量 room 是新创建的房间的名称。让我补充一点,代码应该可以工作,因为我已经在不同的服务器上运行了它,只是当我移动项目时,我开始收到这个错误。我检查了 socket.io 版本,它似乎与上一个相同。但我仍然收到此错误。

标签: node.js websocket socket.io


【解决方案1】:

好的,我发现了问题。对于将来遇到此问题的任何人 确保使用最新版本的 socket.io。在更新之前检查您的 package.json 以查看是否编写了 socketio 来安装旧版本删除 r 更新 package.json 中的版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2015-09-20
    • 2018-05-07
    • 2016-12-21
    • 2018-03-03
    相关资源
    最近更新 更多