我是socket.io的新手,我试图将每个连接到我的节点服务器的客户端分开。
我想将数据发送到一个客户端,而不是向所有客户端广播相同的数据。所以,我必须找到每个客户的独特部分。
如果我得到它,我必须做类似
的事情io.on('connection', function (socket) {
var origin = socket.request;
console.log("hey, so , new ws connection is > "+origin);
});
但我得到[object, Object]
。
这个对象有什么内容,所以我可以得到像id一样独特的东西。此对象包含的其他数据在将来可能会派上用场吗?
由于
更新
我看到了socket.id。但是,每次刷新时,id都会改变。我想要一些稳定的东西,否则如果客户端由于某种原因刷新,将不再与第一个id相关。有小费吗?
答案 0 :(得分:1)
每个连接都有socket.id
是唯一的,如果你使用socket-io适配器,你可以使用套接字握手信息。在浏览器上进行geting socket.id尝试
$(function () {
setTimeout(function () {
$("#socketId").val(socket.id);
},100);
});
如果你将在未来的console.log中看到socket.id
答案 1 :(得分:1)
您使用socket.id属性来获取套接字(客户端套接字)的唯一标识符。 至于这个对象包含的其他数据,有很多有用的,但有用性取决于应用程序。请查看以下链接,了解套接字对象上的可用属性/方法。 http://socket.io/docs/server-api/
一些非常有用的方法是发射,加入,离开,到,在和属性包括id和房间。