gpt4 book ai didi

Socket.io 握手在现场失败但在本地主机上失败

转载 作者:行者123 更新时间:2023-12-05 01:32:09 25 4
gpt4 key购买 nike

Socket.io 握手在我的网站上失败,但在本地主机上没有。我必须提供自定义握手,因为 socket.io 无法找到我的查询参数。

这是我在 socket.service.js 中的声明:

var ioSocket = io('https://my-site.rhcloud.com//?EIO=2&transport=polling&t=1414328625757-0&
token=' + Auth.getToken(), {

});

以及我如何在服务器端捕获它:

socketio.use(function(socket, next) {
request.get('https://my-site.rhcloud.com/api/users/chan', {qs:{access_token:socket.handshake.query.token}}, function(err, me) {
if (err||!me.body|| me.body=='Unauthorized') {
if (!me) console.log('!me');
if (err) console.log(err);
next(err);
}
else {
// perfoming operations
next();
}
});
});

这是我收到的消息:

WebSocket connection to 'wss://my-site.rhcloud.com/socket.io/?EIO=2&transport=websocket&t=…YwMX0.1F6ebfNxzoDPYffXGapGMzLFPJd-mfN0EexqZzXXo7A&sid=z0Jmrbgb7OS0nbqxAAAG' failed: Error during WebSocket handshake: Unexpected response code: 400 

我真的在这里迷路了,并且在谷歌上挖掘了很多但没有任何成功。任何帮助将不胜感激!

最佳答案

经过大量搜索,我意识到问题出在 Openshift 上。您必须指定要使用的端口套接字。参见这篇文章:https://blog.openshift.com/paas-websockets/

所以,我只需要写:

var ioSocket = io('http://my-site.rhcloud.com:8000, {

});

关于Socket.io 握手在现场失败但在本地主机上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26993447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com