如何使用socket_id单独发送给客户端?

时间:2017-03-27 18:59:29

标签: javascript node.js websocket socket.io

在客户端:

socket.on("event_test", function(msg){      console.log(msg); 
    alert(msg);
});

function test()
{
    socket.emit("hello","my_username");
}  

在服务器中:

socket.on("hello", function(new_username){
    socket.to(socket.id).emit("event_test", "pobe" );
    console.log(socket.id); // socket id is being printed correctly 
});

我写这段代码只是为了检查.to()功能。 正常的socket.emit工作正常。只有当我尝试将其发送给特定客户端时,它才会发出,我无法在客户端接收它。 我究竟做错了什么 ? 紧随其后:https://socket.io/docs/emit-cheatsheet/

1 个答案:

答案 0 :(得分:1)

socket.on("hello", function(id, new_username){
    socket.broadcast.to(id).emit("event_test", "pobe" );
});

查看你的备忘单你看起来是正确的,我不是专家,但我想你可能已经把你的消息从服务器发送给自己了。

编辑:

如果那不起作用,请尝试:

socket.on("hello", function(new_username){
    socket.emit("event_test", "pobe" );
});