この質問は何度か尋ねられています。
しかし、私はこれらの解決策を働かせることはできません。
私はnode.jsとsocket.ioの標準インストールを実行しています。 (Amazon EC2のyumから)
問題は、Chromeがxhrポーリングに落ちていて、それらの要求が動作中のCORS設定を必要としていることです。しかし、私はそれを動作させるように見えることはできません。私のWebサーバーはポート80で動作していて、node.js(socket.io)はポート81で動作しています。わかるように、origin.ioにoriginポリシーを使用しようとしました。私はまた、 "*:*"を起源として運を使わないようにしようとしました。ここ
は私のコードです:Socket.ioはCORSヘッダーを設定していません
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");
});
はどうもありがとうございました!それに付属している場合
io.set('origins', '*domain.com*:*');
は、あなたの中Manager.prototype.handleHandshake
にコードブロックを入力していることを確認するconsole.log
を使用します。
私は現在、代わりにsockjsを使用しています。しかし、とにかくありがとう! :D – Fredefl
しかし、それはあなたのために働くので、私は私のインストールと設定が間違っていたと思います、私はあなたの答えを受け入れる。 – Fredefl
ありがとうございます。もしあなたがそれを考えていれば、私はまだあなたとデバッグしても構いません。 HTTPヘッダーを参照する必要があります。 – buley