2
我簡單的嘗試的目標是顯示在線用戶列表。我的意思是顯示不是socket.io ID,但顯示用戶配置文件。當授權用戶連接到我的服務器時,打開socket.io頻道,需要獲得他的個人資料並向新連接的用戶(姓名,電子郵件等)發送消息給其他連接的用戶。我看到了許多例子,如何在授權範圍內做到這一點,但它並沒有處理斷開連接。我想要做什麼我不能做的僞代碼:鏈接socket.io ID與快遞和護照
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和護照帳戶連接在一起。我該怎麼做?
偉大的答案@luschn ...快速問題這行代碼有效地做什麼 clients [socket.id] =用戶名 它是否使用括號表示將屬性分配給對象? – Pinky
是的,你不能在這種情況下使用點符號(clients.socket.id將是完全不同的東西)。基本上它將套接字ID作爲關聯數組/對象中的鍵,並使用用戶名作爲值。 – luschn