Fre*_*efl 7 http websocket node.js cors socket.io
我知道这个问题曾被问过几次.
但是,我无法获得任何解决方案.
我正在运行node.js和socket.io的标准安装.(来自Amazon EC2上的yum)
问题是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");
});
Run Code Online (Sandbox Code Playgroud)
非常感谢你!
这是我必须使用的语法来使CORS与socket.io一起使用:
io.set( 'origins', '*domain.com*:*' );
Run Code Online (Sandbox Code Playgroud)
如果涉及到它,请使用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';
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15657 次 |
| 最近记录: |