【发布时间】:2014-08-25 02:31:27
【问题描述】:
我正在使用 REDIS 和 Socket.io 在 Node.js 上制作游戏。
我在这个游戏中有“房间”。房间里有 1 到 9 名玩家。他们可以随时加入和离开。
房间中还有一个循环 (setInterval),它从 Redis 中取出一名玩家并使该玩家成为“领导者”。
按设置存储在 Redis 中的玩家 (rooms:ROOMID:online)。当用户加入房间时,我将他添加到这个集合中。当用户离开时,我将他从集合中移除。
也许这是一个愚蠢的问题,但是......
在我手动停止循环之前,如何在每次迭代中获取下一个用户而不重复,考虑到循环的每次迭代都可能发生变化(可以变小或变大,用户可以加入和离开)。
我想要的示例:集合中有 3 个用户 (0, 1, 2)
setInterval(function, 1000);
>0
>1
>2
> User 3 joined the room (added to set)
>0
>1
>2
>3
>0
>1
>2
> User 2 left the room (removed from set)
>3
>0
>1
>3
>...etc
注意:我无法从我的主要系列(房间:ROOMID:在线)中 SPOP。
对不起,我的英语不好,感谢您的帮助。
【问题讨论】:
标签: javascript arrays node.js redis