抱歉,但我有问题。我推动了一个社区。我想在这个社区中实现1:1聊天。
如果用户在社区登录,则会在登录.php-File中启动连接:
var socket = io.connect("http://localhost:8080");
现在的问题是:我可以发送带有此行的用户 ID 吗?因为我想在聊天服务器上的sql-DB中存储一对数字:连接ID和社区成员的ID。这是因为如果他的聊天伙伴注销且无法访问,我必须在聊天中通知社区成员。
非常感谢!!对不起,我的英语不好。
在客户端上,只需将用户 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);
}