Estoy tratando de hacer que dos clientes (jugadores) se contacten (intercambiando por ejemplo cadenas) a través de socket.io. Tengo este código en los clientes (gameid se define de nuevo en el código):conectando dos clientes con socket.io a través de node.js
var chat = io.connect('http://localhost/play');
chat.emit(gameId+"", {
guess: "ciao"
});
chat.on(gameId+"", function (data) {
alert(data.guess);
});
Si bien en el servidor tengo este (que es una de las primeras cosas que hago, no en el enrutamiento por supuesto)
var messageExchange = io
.of('/play')
.on('connection', function (socket) {
socket.emit('message', {
test: 'mex'
});
});
Básicamente creo el canal, entonces cuando los usuarios se conectan utilizan el canal para el intercambio de un mensaje del rey "gameid" que sólo los dos de ellos se puede leer (utilizando el material on.(gameId+"" ...
. Mi problema es que cuando los jugadores conectar (primero, luego el otro), el primero que se conecta debe alertar a los datos recibidos (porque el segundo que conectado emitió un mensaje). ¿Alguien de ustedes sabe por qué esto no está sucediendo?
Gracias.
Así que, básicamente, estás diciendo que envío un mensaje a través del canal 'gameId' que llega al servidor y luego al servidor wor ks con eso, ¿estoy en lo cierto? Hasta ahora, no hay "comunicación" entre los clientes, que básicamente no es un "canal". Bien, ok, gracias. Tengo que reestructurar toda mi aplicación. – Masiar