I'm trying to do cross-domain socket.io, but I'm experiencing an issue: I always get XMLHttpRequest cannot load http://handsonwithnodejs.samarthwiz.c9.io/socket.io/1/?t=1358882710333. Origin https://c9.io is not allowed by Access-Control-Allow-Origin .

Server code:

var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(process.env.PORT); function handler (req, res) { fs.readFile(__dirname + '/index.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } io.set('origins', '*:*'); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); });

On line 19 io.set('origins', '*:*'); I tried replacing ' : ' with '*', 'https://c9.io', ' c9.io ','https://c9.io/ ' and '.', some times when I add something like 'c9.io/ ' I get warn 'illegal origin ...' but that is just a cloud9 related issue.

Client code:

<html> <body> <script src="https://raw.github.com/LearnBoost/socket.io-client/master/dist/socket.io.js"></script> <script> var socket = io.connect('http://handsonwithnodejs.samarthwiz.c9.io'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); }); </script> </body> </html>

I know that using github to get my script isn't the best idea yet, but I wanted to keep my code clean and the error messages readable(everything in 'socket.io.min.js' is on line 2)

P.S. 1. I know that there are other threads like this but they didn't solve my problem. 2. Please don't reply 'Just host the page on the same server as socket.io' I need it to be cross-domain for a reason.

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

本文标题:Socket.io Cross-domain connections fail; 'XMLHttpRequest cannot load ...'

技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(110)