我的简单尝试的目标是显示在线用户列表。我的意思是显示不是socket.io ID但显示用户配置文件。当授权用户连接到我的服务器时,打开socket.io频道,需要获取他的个人资料并向其他连接用户发送新用户(姓名,电子邮件等)已连接的消息。我看到许多示例如何在授权范围内执行此操作,但它不处理断开连接。我想做什么以及我不能用伪代码做什么:
var io = require("socket.io").listen(server);
io.set("authorization", function(data, callback){
// ... some code...
callback(null, true);
});
io.sockets.on('connection', function (socket) {
var UserProfile = passport.getUserProfile(socket.id)
io.sockets.emit('user_connected', {UserProfile: UserProfile, socketID: socket.id});
io.sockets.on('disconnect', function (socket) {
io.sockets.emit('user_disconnected', {socketID: socket.id});
});
});
这是伪代码!
我的堆栈溢出。我只想在连接中将socket.io ID和护照帐户链接在一起。我该怎么办?
答案 0 :(得分:1)
我遇到了同样的问题,我的解决方案如下(希望有人能有更好的想法):