tengo este Node.JS servidor:Socket.IO sólo funciona localmente
var app = require('express')();
var server = app.listen(80);
var io = require('socket.io').listen(server);
var posx = 10;
var posy = 10;
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
socket.emit('start', {
x: posx,
y: posy
});
socket.on('newpos', function (data) {
posx = data["x"];
posy = data["y"];
socket.broadcast.emit('move', { x: posx, y: posy });
});
});
del lado del cliente CÓDIGO:
var socket = io.connect('http://localhost');
socket.on('start', function (data) {
$("#pointer").animate({
'top': data["y"],
'left': data["x"]
}, 0);
});
socket.on('move', function (data) {
$("#pointer").animate({
'top': data["y"],
'left': data["x"]
}, "slow");
});
$("#pointer").draggable({
stop: function(event, ui) {
var pos = $("#pointer").position();
socket.emit('newpos', {
'x': pos.left,
'y': pos.top
});
}
});
El problema es que parece que sólo se trabaja a nivel local . en Ubuntu cromo me sale:
XMLHttpRequest cannot load http://localhost/socket.io/1/?t=1344711676473. Origin http://192.168.1.130 is not allowed by Access-Control-Allow-Origin.
Si bien en un Mac, estoy teniendo un error de GET para el mismo archivo ...
Cualquier idea sobre lo que podría ser el problema?
¿Cuál es el código del lado del cliente? – ebohlman
por favor revisa mi edición. –