javascript - 已定义 Socket.io,但未定义 socket.io.sockets

标签 javascript node.js websocket socket.io

我遇到了一个奇怪的问题。 在我非常基本的服务器中,我有:

server.listen(8001);
io.listen(server);
var sockets = io.sockets;

不幸的是,套接字未定义。

你有什么解释吗?

谢谢!

最佳答案

io.listen() 返回 Socket.io 类的实例。它是具有 sockets 属性的实例,而不是类本身:

server.listen(8001);
var mySocketIoInstance = io.listen(server);
var sockets = mySocketIoInstance.sockets;

(假设变量 io 是 Socket.io 类,而不是 Socket.io 的实例,该实例具有 .listen方法)

关于javascript - 已定义 Socket.io,但未定义 socket.io.sockets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23801561/

相关文章:

javascript - 使用 Colorbox jquery 插件时,根据视口(viewport)自动调整 innerWidth 和 innerHeight 的大小

node.js - 对使用 NESTJS 启用 CORS 没有影响

javascript - JSDoc:如何记录父 "options"的 "class"对象文字?

javascript - 使用 JavaScript 从文本框中包含的数据更新内联 SVG

javascript - 如何动态添加 HTML 并保留输出格式

node.js - Mongoose /MongoDB 错误 : Cannot determine state of server

javascript - 从 Sequelize 获取查询结果,然后按结果运行刮刀作业结果

node.js - Mongoose 中 ref 集合的默认值

javascript - NodeJS 和 Socket.io 防洪

python - 如何通过 websockets 发送 pygame 图像?