【发布时间】:2019-01-31 13:51:09
【问题描述】:
我想知道一个房间里的 2 个用户是否在线。如果两者都在线,那么我想告诉房间用户在线,但我找不到知道如何告诉他们在线的方法。
我有一个全局数组,它存储所有 socket.id 的 acc_id 并在每次 socketid 更改时更新,由此我可以知道用户没有打开另一个选项卡,因为新选项卡提供了一个新客户端。
io.of('/').in(room).clients(function(error, clients) {
console.log(clients.length);
clients.forEach(function(iiid){
ds.some(function(el) {
if (el.socket_id === iiid && el.acc_id !== decrypted && clients.length >= 2) {
io.to(room).emit('isasdjfg__-dfko', {
dfhdf: "Oui", //Yes in French
pfg: room
});
}
});
});
});
这会检查房间里的客户是否有一个不等于当前用户 ID 的 acc_id 意味着房间里是否有 2 个人,但这不起作用。
【问题讨论】:
-
请使用标准英文大写。第一人称主格不是“i”而是“I”。之所以要求您这样做,是因为您的问题及其答案将永久发布以供参考。如果他们证明很受欢迎,那么其他人将不得不回来清理你的风格。即使英语不是您的第一语言,人们也希望您的知识足以将“I”大写。
-
而“法语是”是“Oui”,而不是“Qui”... :-)
-
@MarcoS 已编辑,现在有人愿意帮助我解决这个问题吗?
-
抱歉,对socket.io不太了解... :-( 只是在评论帖子... :-)
标签: javascript node.js socket.io