两个用户之间通过node.js和socket.io发送消息

我是新的node.js和socket.io

我有两个客户端,他们的ID为1和2.我需要通过socket.io发送数据,其中包含:user_from,user_to,action

数据是从双方发送的。

我怎么发送这个数据从客户端1 socket.emit(),所以我可以设置variables:数据?

如何使用socket.get读取服务器上的数据?

并再次从服务器发送到客户端2? (我发现这个代码:io.sockets.volatile.emit('broadcast_msg',味精);但我想只从特定用户发送给特定用户,而不是所有用户连接。

谢谢你的帮助,我看到很多例子,但不是我所需要的。

更新:

我不明白这个代码:

// on server started we can load our client.html page function handler(req, res) { fs.readFile(__dirname + '/client.html', function(err, data) { if(err) { console.log(err); res.writeHead(500); return res.end('Error loading client.html'); } res.writeHead(200); res.end(data); }); } 

为什么我需要这样做? 我有例如:index.php?menu = 30或index.php?menu = 30&action = 12

您正在寻找路由function。 socket.io提供的是点对点通信。 例如从1个​​客户端到服务器。

因此逻辑上,您需要服务器路由消息,这意味着消息应该具有寻址信息(例如目标收件人的ID)。 然后这可以用于通过例如创build(定制)用户特定事件来基于传入消息的目标用户来触发消息。

如果你正在构build需要扩展的任何东西,也许你应该看看像RabbitMQ这样的消息框架。 这正是为了在分布式实体(如用户)之间路由消息。

干杯!