我正在使用socket io进行聊天应用。我方是使用android。我想获得特定的身份证明。当我发送用户名时。我想显示用户ID。我使用如下所示。
const userId = user.userId;
const user1 = usernames[userId];
console.log("user1 :"+user1);
但它只显示用户名如何显示用户ID或如何获取用户ID。请帮帮我?
答案 0 :(得分:3)
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);
});
答案 1 :(得分:0)
console.log(" user1:" + user1 +" id:" + userId);