Envoyer un message à un client spécifique dans Socket IO
Je suis en utilisant le Socket IO v1.4.5 et ont essayé 3 différents moyens ci-dessous, mais n'avez pas la moindre résultat.
client.emit('test', 'hahahaha');
io.sockets.socket(id).emit('test',''hahaha);
io.sockets.connected[id].emit('test','hahaha');
Ici, c'est mon côté serveur
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var dateFormat = require('date-format');
var app = express();
var server = http.createServer( app );
var io = socket.listen( server );
io.sockets.on( 'connection', function( client ) {
user[client.id]=client;
//when we receive message
client.on('message', function( data ) {
console.log( 'Message received from' + data.name + ":" + data.message +' avatar' +data.avatar );
client.emit('test', 'hahahaha');
});
Toute aide serait super.Merci pour l'aide.Genre Égard
source d'informationauteur Ngô Hùng Phúc | 2016-02-28
Vous devez vous connecter pour publier un commentaire.
Pour envoyer un message à un client spécifique, vous devez faire comme ceci:
Ici est une jolie petite feuille de triche pour les sockets:
De crédit à https://stackoverflow.com/a/10099325
La façon la plus simple plutôt que de l'envoyer directement à la prise, serait la création d'une chambre pour 2 utilisateurs à utiliser et à seulement envoyer des messages librement.
Sinon, vous allez avoir besoin de garder une trace de chaque client individuel de connexion de socket, et quand vous voulez discuter, vous aurez à chercher les douilles de connexion et émettent spécifiquement à une à l'aide de la fonction que j'ai dit ci-dessus. Les chambres sont probablement plus facile.
Socket.io Version 2.0.3+
L'envoi d'un message à un socket spécifique
Simplement faire ce