node.js:发送连接启动的号码

时间:2013-10-15 07:31:18

标签: node.js

抱歉,但我有问题。我已经建立了一个社区。我希望在这个社区中实现1:1聊天。

如果用户登录社区,他将在login.php文件中启动连接:

var socket = io.connect("http://localhost:8080"); 

现在的问题是:我可以使用此行发送用户ID吗? 因为我想在聊天服务器上的sql-DB中存储一对数字:连接ID和社区成员的id。那是因为我必须在聊天时告知社区成员他的聊天室是否已注销且无法访问。

非常感谢!!!抱歉我的英语不好。

1 个答案:

答案 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);
}