2011-11-02 3 views
2

J'ai obtenu un jeu en utilisant Redis, Socket.io, theres 2 serveurs nodejs exécutant des clients diff socket.io. Je communique avec les deux clients socket.io via le magasin redis, de cette façon je peux émettre sur toutes les sockets quand je le veux. Et il fonctionne.Socket.io, Redis Store et IE

io.sockets.emit('successful_connection', { success : true }); return; 

Mon problème est, lors de l'appel d'un socket spécifique par ID, il échoue.

io.sockets.socket(socketId).emit('successful_connection', { success : true }); return; 

Je ne sais pas pourquoi, cela fonctionne dans tous les autres navigateurs. Heres le code pour socket.io/redis config magasin

io.configure(function(){ 
     var RedisStore = require('socket.io').RedisStore, 
      opts = {host: **.***.**.**, port: ****}; 
     io.set('store', new RedisStore({redisPub:opts, redisSub:opts, redisClient:opts})); 
    });  

Tout conseil serait utile, maintenant ma principale pensée est « pourquoi avoir des serveurs NodeJS/Socket.IO. » Y at-il vraiment un avantage si je dois faire face à cela. Merci

+0

Vous mentionnez "theres 2 nodejs servers exécutant des clients socket.io", sont-ils connectés à un serveur socket.io? En cas d'erreur, pouvez-vous vous assurer que vous n'utilisez pas les mots "client" et "serveur" de façon interchangeable? Ils ne signifient pas la même chose et rendent impossible de comprendre ce qui se passe. – geoffreak

Répondre

0

This blog avec un exemple de code pourrait vous aider.