Javascript 存储在变量not working中时,Socket.io向Socket.id发出信号
如中所示,可以使用Javascript 存储在变量not working中时,Socket.io向Socket.id发出信号,javascript,jquery,node.js,socket.io,Javascript,Jquery,Node.js,Socket.io,如中所示,可以使用 io.to(socketid.emit('message','仅供您观看'); 在我的node.js应用程序中,我尝试做同样的事情。基本上,当用户提交另一个socket.id时,node.js后端将发送给该特定socket id的数据。虽然前端将请求正确地提交给后端,但当我尝试将数据发送给该id时,它不会通过。代码的“断开”部分如下所示: app.post('/send',函数(req,res){ var post_body=所需body; var id=(JSON.str
io.to(socketid.emit('message','仅供您观看');
在我的node.js应用程序中,我尝试做同样的事情。基本上,当用户提交另一个socket.id时,node.js后端将发送给该特定socket id的数据。虽然前端将请求正确地提交给后端,但当我尝试将数据发送给该id时,它不会通过。代码的“断开”部分如下所示:
app.post('/send',函数(req,res){
var post_body=所需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(用户);
io.to(id.emit('testerEvent',{description:'A custom event named testerEvent!'});
物质状态(200);
});
它对已发布的数据做出响应(数据已正确发布)。客户端侦听事件“testerEvent”,如下所示:
socket.on('testerEvent',函数(数据){document.write(数据.description)});
当仅使用io.emit而不是io.to(id.emit)触发事件testerEvent时,它工作正常。
如果您能在这方面提供帮助,我将不胜感激,因为我刚刚开始学习node和socket.io
io.to(id)
将向加入聊天室的客户端发送消息,因此如果您尚未将任何客户端加入聊天室,您将不会在客户端上收到消息。要解决此问题,当您从socket.io收到客户端套接字时,可以尝试执行client.join(id)
。谢谢!有没有办法在不使用文件室的情况下将其发送到某个socket.client.id?我检查了文档,默认情况下它应该加入这个文件室。您确定传递了正确的ID吗?该ID是通过myId=socket.io.engine.ID从客户端获取的,然后通过post请求将其传递给服务器。在另一个选项卡上,使用io.to(生成和发送的id).emit。。。从服务器到第一个选项卡不会产生任何结果。如果要向客户端发送消息,则需要使用socket.id
,此socket
应该是客户端的套接字。这里你可以看到一个例子。