在Socket.IO上添加cookie值

如何在Socket.IO上添加cookie值?

io.sockets.on('connection', function (client)

{

console.log(client.id);

client.handshake.headers.cookie.socketID = client.id; // not work

// client.handshake.headers.cookie("socketID",client.id); //crash

console.log(client.handshake.headers.cookie);

// The current output is:

//connect.sid=tI21xumy3u2n4QXO1GljmPAf.pzFQ1Xu%2B6bz36secu4VSCdSNU8PT1L44gQZ4kFUFQqQ

//this is express session id, and I also want to add client.id of Socket.IO.

//...........

}

我已经阅读了 http://www.danielbaulig.de/socket-

ioexpress/

,但是我不需要在node.js上进行会话管理,而只需在cookie中添加一个socket.io客户端ID值即可,就像connect.sid一样。

回答:

看看Socket.io的授权。在这里它可以处理初始连接请求,并且可以在其中设置响应头。

我不确定cookie(name,value)速记是否有效,尽管您可以尝试手动设置它:

    var date = new Date();

date.setTime(date.getTime()+(days*24*60*60*1000)); // set day value to expiry

var expires = "; expires="+date.toGMTString();

handshake.headers.cookie = name+"="+value+expires+"; path=/";

以上是 在Socket.IO上添加cookie值 的全部内容, 来源链接: utcz.com/qa/419730.html

回到顶部