socket.id給出的唯一ID的套接字(客戶端),你可以將其存儲在許多方面
客戶端:
var socket = io.connect();
data = {name: userName, userId: socket.id};
socket.emit('setSocketId', data);
服務器端:
var userNames = {};
socket.on('setSocketId' function(data) {
var userName = data.name;
var userId = data.userId;
userNames[userName] = userId;
});
- 你可以做服務器端也當插座被連接,但你必須給一些默認的名稱,用戶,然後放出客戶端的默認名稱
服務器端:
var userNames = {};
var getDefaultName = function(){
var cnt = 0;
for (user in names) {
cnt+=1;
}
return 'User' + String(cnt);
};
io.sockets.on('connection', function(socket) {
name = getDefaultName();
userNames[name] = socket.id;
data = {name: name};
socket.emit('initName', data);
});
userId顯示用戶名稱。 – Fazil
當你的「userId」是用戶名,那麼你想顯示什麼樣的ID?你有沒有看看底層數據庫來檢查是否有這樣的ID?什麼是數據庫和你用什麼持久層 – strash
在socket io中,每個用戶都有一個唯一的。私人這個唯一的ID使用。我想要那個ID。 – Fazil