如何使用socket.io向特定客户端发送消息

我从socket.io +

node.js开始,我知道如何在本地发送消息和广播socket.broadcast.emit()功能:-所有连接的客户端都收到相同的消息。

现在,我想知道如何向特定的客户端发送私人消息,我的意思是一个套接字,用于2个人之间的私人聊天(客户端到客户端流)。谢谢。

回答:

当用户连接时,它应使用唯一的用户名(例如电子邮件)向服务器发送消息。

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

var users = {

'userA@example.com': [socket object],

'userB@example.com': [socket object],

'userC@example.com': [socket object]

}

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

{

to:[the other receiver's username as a string],

from:[the person who sent the message as string],

message:[the message to be sent as string]

}

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

users[data.to].emit('receivedMessage', data)

在客户端上,侦听来自称为“ receivedMessage”的服务器的发射,通过读取数据,您可以处理其来源和发送的消息。

以上是 如何使用socket.io向特定客户端发送消息 的全部内容, 来源链接: utcz.com/qa/424547.html

回到顶部