首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Socket.io - TypeError:无法设置未定义的属性(设置“传输”)

Socket.io - TypeError:无法设置未定义的属性(设置“传输”)
EN

Stack Overflow用户
提问于 2022-10-04 19:39:33
回答 1查看 177关注 0票数 0

发行:

VS代码中的本地开发运行时没有问题或崩溃。但是,当我将应用程序上载到服务器(node.js)时,它将一直运行,直到建立Socket.io连接或刷新已连接的网页。我不知道这是否与管理UI具体相关,如下面的文件路径,或者这是否是一个Socket.io问题。也许,这也与中间件有关,中间件在操作完成之前会搁置请求,这样就无法访问不存在的数据。

我已经试着更新了npm包,但是没有什么改变。

代码语言:javascript
运行
复制
// middleware is executed on every request
var Map = require('./file')

module.exports = (io, socket) => {
    socket.use(async (packet, next) => {
        var key = socket.handshake.auth.key
        var data = Map.get(key)   
    
        while(!data.action) {   // true for finished or false for loading
            await new Promise(resolve => setTimeout(resolve,10))
        }

        socket.data = data
        next()
    })
}

Serverconsole:

代码语言:javascript
运行
复制
/usr/src/app/node_modules/@socket.io/admin-ui/dist/index.js:233
socket.data._admin.transport = transport.name;
^

TypeError: Cannot set properties of undefined (setting 'transport')
at Socket.<anonymous> (/usr/src/app/node_modules/@socket.io/admin-ui/dist/index.js:233:42)
at Socket.emit (node:events:390:28)
at WebSocket.onPacket (/usr/src/app/node_modules/engine.io/build/socket.js:214:22)
at WebSocket.emit (node:events:390:28)
at WebSocket.onPacket (/usr/src/app/node_modules/engine.io/build/transport.js:92:14)
at WebSocket.onData (/usr/src/app/node_modules/engine.io/build/transport.js:101:14)
at WebSocket.<anonymous> (/usr/src/app/node_modules/engine.io/build/transports/websocket.js:20:19)
at WebSocket.emit (node:events:390:28)
at Receiver.receiverOnMessage (/usr/src/app/node_modules/ws/lib/websocket.js:1022:20)
at Receiver.emit (node:events:390:28)

Node.js v17.3.1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-06 09:19:01

我还直接在GitHub上询问了开发人员的问题,并得到了答案。

有人告诉我,数据是用socket.data = value覆盖的。

例如,如果我将它更改为socket.socketDate,那么它就能正常工作。

请参阅关于GitHub的完整答案以及socket.io管理ui的参考代码:

github socket.io-admin-ui问题-55

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

https://stackoverflow.com/questions/73952881

复制
相关文章

相似问题

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