gpt4 book ai didi

node.js - 即使我允许在服务器上使用cors,Socket.io也会给出CORS错误

转载 作者:行者123 更新时间:2023-12-04 02:45:11 25 4
gpt4 key购买 nike

我的节点服务器和客户端运行在不同的端口上(分别为3001,5347)。
在我曾经使用过的客户上,

var socket = io('http://127.0.0.1:3001');

在服务器上,我尝试了以下所有步骤
    1) io.set('origins', '*:*');
2) io.set('origins', 'http://127.0.0.1:5347');
3) io.set('origins', '*');
4) io.set('origins', '127.0.0.1:5347');

但是我收到以下错误:

XMLHttpRequest cannot load http://127.0.0.1:3001/socket.io/?EIO=3&transport=polling&t=1456799439856-4590. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'null' is therefore not allowed access.



注意:我正在服务器上使用Express,并且已经通过以下方式使用cors中间件:
app.use(cors());

其中app和cors分别是express和cors的实例。

最佳答案

如果运行Express如下:

var app = express();
var server = app.listen(3000);

因此,要启动socket.io,我们可以执行以下操作:
var io = require('socket.io').listen(server);

问题是由于以下代码:
var http = require('http').Server(app);
var io = require('socket.io')(http);

传递给socket.io的服务器对象与我正在监听的服务器对象不同。

关于node.js - 即使我允许在服务器上使用cors,Socket.io也会给出CORS错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35713682/

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