我试图使用socket客户端使用Node连接到Streamlabs。我读了他们的文档并试着调试。运行代码后,服务器不会响应我的套接字请求。我确实将令牌粘贴到.env文件中。这是我得到套接字令牌的地方,我相信它是正确的。我是在Streamlabs⇒设置⇒API设置⇒API令牌⇒套接字API令牌下获得的
这是我的密码:
require('dotenv').config()
const io = require("socket.io-client");
//Connect to socket
const streamlabs = io(`https://sockets.streamlabs.com?token=${process.env.SOCKET_TOKEN}`, {transports: ['websocket']});
console.log(`[Streamlabs]: connecting socket to https://sockets.streamlabs.com?token=${process.env.SOCKET_TOKEN}\nTimestamp: ${Date.now()}\n`)
//Perform Action on event
streamlabs.on('event', (eventData) => {
console.log(eventData)
});
streamlabs.on("connect", ()=>{
console.log(`[Streamlabs]: socket connected \nTimestamp: ${Date.now()}\n`)
});
streamlabs.on("disconnect", (reason) => {
console.log(`[Streamlabs]: socket disconnected \nReason: ${reason} \nTimestamp: ${Date.now()}\n`)
});预期行为:
[Streamlabs]: connecting socket to https://sockets.streamlabs.com?token=eyJ0...
Timestamp: 1620442...
[Streamlabs]: socket connected
Timestamp: 1620442...我得到的却是:
[Streamlabs]: connecting socket to https://sockets.streamlabs.com?token=eyJ0...
Timestamp: 1620442...
[Streamlabs]: socket disconnected
Reason: ping timeout
Timestamp: 1620442...
[Streamlabs]: socket disconnected
Reason: ping timeout
Timestamp: 1620442...这件事将永远持续下去。知道是什么导致了这个问题吗?
发布于 2021-05-08 12:56:20
(自答lol)
经过大量的研究,我在YouTube教程评论部分进行了搜索,他们认为新的socket客户端版本与Streamlabs不兼容,所以我不得不切换到一个较旧版本的socket客户端。现在一切都正常了。在这里,如果你也有同样的问题的话,你就有了。若要解决此问题,请在项目目录中运行以下命令:
npm install socket.io-client@2.3.1发布于 2021-08-20 07:55:17
如果像我这样的人正在使用试图找出同样的问题,那么解决方案与接受的答案是一样的。您需要将python回滚到旧版本,以及它的依赖项之一。使用以下2条命令解决问题:
pip3 install 'python-socketio==5.04' --force-reinstall
pip3 install 'python-engineio==3.14.2' --force-reinstallhttps://stackoverflow.com/questions/67443722
复制相似问题