Http Socket.io不';t设置CORS收割台

Http Socket.io不';t设置CORS收割台,http,node.js,websocket,socket.io,cors,Http,Node.js,Websocket,Socket.io,Cors,我知道这个问题已经被问过好几次了。 但是,我无法让这些解决方案发挥作用。 我正在运行node.js和socket.io的标准安装。(来自亚马逊EC2上的百胜) 问题是Chrome正在退回到xhr轮询,这些请求需要一个有效的CORS配置。然而,我似乎无法让它发挥作用。我的web服务器在端口80上运行,node.js(socket.io)在端口81上运行。如您所见,我已尝试让socket.io使用源策略。我还尝试使用“*:*”作为源代码,但没有运气。 这是我的密码: var http = requi


我知道这个问题已经被问过好几次了。
但是,我无法让这些解决方案发挥作用。
我正在运行node.js和socket.io的标准安装。(来自亚马逊EC2上的百胜)
问题是Chrome正在退回到xhr轮询,这些请求需要一个有效的CORS配置。然而,我似乎无法让它发挥作用。我的web服务器在端口80上运行,node.js(socket.io)在端口81上运行。如您所见,我已尝试让socket.io使用源策略。我还尝试使用“*:*”作为源代码,但没有运气。
这是我的密码:

var http = require('http');
var io = require('socket.io').listen(81, {origins: '*'});

io.configure( function(){
    io.set('origin', '*');
});
io.set("origins","*");

var server = http.createServer(function(req, res) {
    io.sockets.emit("message", "test");
res.writeHead(200);
    res.end('Hello Http');
    console.log("Message recieved!");
});
server.listen(82);

io.sockets.on('connection', function(client)  {
    console.log("New Connection");
});

多谢各位

这是我用来让CORS使用socket.io的语法:

io.set( 'origins', '*domain.com*:*' );
如果需要,请使用
console.log
确保在
Manager.prototype.handleHandshake
内部
/lib/Manager.js
中输入此代码块:

 if (origin) {
    // https://developer.mozilla.org/En/HTTP_Access_Control
    headers['Access-Control-Allow-Origin'] = '*';

    if (req.headers.cookie) {
      headers['Access-Control-Allow-Credentials'] = 'true';
    }
  }

它没有起作用。。。我目前正在考虑改用sockjs。不过还是要谢谢你但由于它确实适用于您,而且我认为我的安装和配置是错误的,所以我接受您的回答。谢谢。如果你愿意,我还是不介意和你一起调试。需要查看HTTP头。我已经查看了HTTP头很多次,但是CORS头不在那里。但我现在正在使用sockjs,它就像一个符咒。谢谢!我建议将“*domain.com*:*”更改为“:*”,以使其更安全。否则,您可以从“domain.com.example.com”、“anotherdomain.com”等域进行连接。