如果用户登录社区,他将在login.php文件中启动连接:
var socket = io.connect("http://localhost:8080");
现在的问题是:我可以使用此行发送用户ID吗? 因为我想在聊天服务器上的sql-DB中存储一对数字:连接ID和社区成员的id。那是因为我必须在聊天时告知社区成员他的聊天室是否已注销且无法访问。
非常感谢!!!抱歉我的英语不好。
答案 0 :(得分:0)
在客户端上,只需将用户ID作为查询字符串传递。
var socket = io.connect('http://localhost:8080?user=123');
在服务器上,您可能希望处理connection
处理程序中的数据。为此,您必须添加authorization
处理程序,并将数据保存到handshakeData
对象中。然后,您可以在socket.handshake
上访问它。
io.set('authorization', function (handshakeData, callback)
{
handshakeData.userId = handshakeData.query.user;
callback(null, true);
});
io.sockets.on('connection', function(socket)
{
console.log(socket.id, ' => ', socket.handshake.userId);
}