Message privé socket.io
J'ai été à récurer le Net avec pas de chance. Je suis à essayer de comprendre comment envoyer un message privé d'un utilisateur à un autre. Il y a beaucoup de fragments, mais je ne suis pas sûr que sur le client/serveur d'interaction. Si j'ai l'IDENTIFIANT de la socket que je veux envoyer, comment dois-je l'envoyer au serveur, et comment puis-je m'assurer que le serveur n'envoie le message à un récepteur de socket?
Est-il un tutoriel ou procédure pas à pas que quelqu'un connaît?
source d'informationauteur Trevor Newhook
Vous devez vous connecter pour publier un commentaire.
Pas de tutoriel nécessaire. Le Socket.IO FAQ est assez simple sur celui-ci:
EDIT: les Gens sont à relier à cette question lors de la demande sur la façon d'obtenir que
socket
objet plus tard. Il n'est pas nécessaire. Quand un nouveau client se connecte, enregistrer une référence à cette prise sur n'importe quel objet que vous tenez vos informations d'utilisateur. Mon commentaire d'en dessous:Voici un extrait de code qui devrait l'aider à
Côté Client (envoi de message)
où 'à' fait référence à l'id d'envoyer un message privé à et 'msg' est le contenu
Côté Client (réception de message)
où chatLog est un div afficher les messages de chat
Côté serveur
La meilleure façon que je peux penser est d'avoir un hash de tous les utilisateurs sur l'utilisation de leur carte d'identité ou le nom de la clé et ont leur prise comme une partie de la valeur lorsque vous voulez envoyer un message à seulement tirez-vous de cette prise et émettent sur elle... quelque chose comme ceci:
dans le support.io 1.0 utilisation
vous pouvez stocker un peu prise id. comme:
alors:
si vous avez un site web qui a l'enregistrement des utilisateurs uid ensuite, vous pouvez créer une chambre pour chaque utilisateur et le nom de la salle par l'uid de l'utilisateur.
première connexion du client au serveur à l'aide :
sur le côté serveur créer un événement pour la détection de la connexion client:
ensuite, vous pouvez émettre des clients à l'intérieur à l'aide de
socket.emit();
et demander à l'uid de l'utilisateur courant.sur le côté client de créer un événement de cette demande et de l'envoyer ensuite l'uid de l'utilisateur au serveur.
maintenant sur le côté serveur rejoindre le socket connecté à la chambre à l'aide de :
maintenant, vous pouvez envoyer un message privé à un utilisateur à l'aide de la ligne suivante:
si vous utilisez le code ci-dessus, il n'a pas d'importance combien d'onglet utilisateur a déjà ouvert à partir de votre site web . chaque onglet se connecter à la même salle.