2012-04-19 11 views
7


この質問は何度か尋ねられています。
しかし、私はこれらの解決策を働かせることはできません。
私は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を使用します。

答えて

7

これは私がCORSがsocket.ioで作業を取得するために使用していた構文は次のとおりです。 ./lib/manager.js

​​
+0

私は現在、代わりにsockjsを使用しています。しかし、とにかくありがとう! :D – Fredefl

+0

しかし、それはあなたのために働くので、私は私のインストールと設定が間違っていたと思います、私はあなたの答えを受け入れる。 – Fredefl

+0

ありがとうございます。もしあなたがそれを考えていれば、私はまだあなたとデバッグしても構いません。 HTTPヘッダーを参照する必要があります。 – buley

関連する問題