在节点js中的Socket中为特定用户发出事件

时间:2017-05-02 09:46:39

标签: node.js socket.io

我试过这个链接:this test code

我已经分别使用方法20/04/17 13:27:520-04-2017 13:27:05作为请求和响应。

目前我遇到的问题是我得到了所有用户的回复 我想通知特定用户。

1 个答案:

答案 0 :(得分:1)

当用户连接时,它应该使用必须唯一的用户名向服务器发送消息。

一对用户名和套接字应该存储在这样的对象中:

<div style="background-image:url(http://Mydomain/pages/4.jpg)"></div>

在客户端上,使用以下数据向服务器发出一个对象:

var users = {
   'userA@foobar.com': [socket object], // USER SOCKET OBJECT
   'userB@foobar.com': [socket object], // USER SOCKET OBJECT
   'userC@foobar.com': [socket object]  // USER SOCKET OBJECT
}

在服务器上,侦听消息。收到消息后,将数据发送给接收方。

{
   to:[receiver's username],
   from:[the person who sent the message],
   message:[the message to be sent],
   //..other details..
}

在客户端,您需要收听users[data.to].emit('new-message', data.message)