Je travaille avec phoenix framework pour créer une application de chat de type différent. Dans mon cas, nous avons des salles de discussion, mais ne fonctionne pas comme un salon de discussion normal. Chaque utilisateur a sa propre pièce, il peut rejoindre sa chambre en utilisant différents dispositifs (mobile, pc, d'autres sources).Comment envoyer un message à un autre utilisateur dans l'application de chat framework phoenix
L'utilisateur A a sa propre chambre et l'utilisateur B a sa propre chambre, ces deux membres ne se connectent pas à une seule pièce comme dans un scénario normal dans le monde réel.
Maintenant, mon utilisateur A veut envoyer un message à l'utilisateur B
par exemple des données de message:
from : A
to :B
message : test message
Ceci est un extrait de app.js
j'ai utilisé pour se connecter à la salle spécifique de l'utilisateur:
let room = socket.channel("room:"+ user, {})
room.on("presence_state", state => {
presences = Presence.syncState(presences, status)
console.log(presences)
render(presences)
})
Ceci est l'extrait de back-end pour la fonction de pièce jointe
/web/channel/RoomChannel.ex
Mais maintenant je suis coincé au milieu parce que je ne peux pas trouver un moyen d'envoyer des messages entre les utilisateurs. par exemple: Impossible d'identifier moyen de fournir l'utilisateur un message de à l'utilisateur B en utilisant ce scénario spécifique
Ceci est l'architecte de base de cette application de chat:
C'est reste du code dans le fichier Roomchannel Est-ce que quelqu'un peut me montrer un moyen par lequel je peux passer des messages entre les salles de chat de l'utilisateur?
J'utilise redis
pour stocker des données et this est l'application de base de chat que je suis grâce à ce développeur.