获取socket.io中的请求对象的内容

时间:2015-12-24 01:00:01

标签: node.js websocket socket.io

我是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相关。有小费吗?

2 个答案:

答案 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和房间。