Je souhaite envoyer des données à un ID de socket spécifique.
Nous pouvions le faire dans les anciennes versions:
io.sockets.socket(socketid).emit('message', 'for your eyes only');
Comment procéder pour faire quelque chose de similaire dans Socket.IO 1.0?
Dans socket.io 1.0, vous pouvez le faire avec le code suivant:
Mise à jour:
La réponse de @ MustafaDokumacı contient une meilleure solution.
la source
@Mustafa Dokumacı et @Curious ont déjà fourni suffisamment d'informations, j'ajoute comment vous pouvez obtenir l'identifiant de socket.
Pour obtenir l'ID de socket, utilisez socket.id :
la source
Si vous avez utilisé un espace de noms, j'ai trouvé que ce qui suit fonctionne:
En savoir plus sur les espaces de noms: http://socket.io/docs/rooms-and-namespaces/
la source
Je pense que @Curious et @ MustafaDokumacı ont fourni des solutions qui fonctionnent bien. La différence cependant est qu'avec la solution de @ MustafaDokumacı, le message est diffusé dans une salle et pas seulement à un client particulier.
La différence est importante lorsqu'un accusé de réception est demandé.
fonctionne comme prévu, tandis que
échoue avec
la source
dans Node.js -> socket.io -> il y a un exemple de chat à télécharger Collez ceci en ligne (io sur connexion) partie .. j'utilise ce code qui fonctionne à 100%
la source