【发布时间】:2021-08-14 17:53:56
【问题描述】:
如Sending message to a specific ID in Socket.IO 1.0 中给出的,可以通过使用发送到特定的客户端ID
io.to(socketid).emit('message', 'for your eyes only');
在我的 node.js 应用程序中,我正在尝试做同样的事情。基本上,当用户提交另一个 socket.id 时,node.js 后端会将给定的数据发送给该特定套接字 id。虽然前端将请求正确提交给后端,但当我尝试将数据发送到 id 时,它并没有通过。代码的“损坏”部分如下所示:
app.post('/send', function (req, res) {
var post_body = req.body;
var id = (JSON.stringify(post_body.id)).split('"')[1].split('"')[0];
var payload = JSON.stringify(post_body.payload);
var user = JSON.stringify(post_body.user);
console.log(id);
console.log(payload);
console.log(user);
io.to(id).emit('testerEvent', { description: 'A custom event named testerEvent!'});
res.status(200);
});
正在响应发布的数据(数据正确发布)。客户端监听事件“testerEvent”如下:
socket.on('testerEvent', function(data){document.write(data.description)});
当仅使用 io.emit 而不是 io.to(id).emit 触发事件 testerEvent 时,它可以正常工作。 我将不胜感激,因为我刚刚开始学习 node 和 socket.io
【问题讨论】:
标签: javascript jquery node.js socket.io