在Node JS中使用Deepstream创建多人游戏的房间

时间:2017-01-30 10:41:39

标签: deepstream.io

我们正在为DeepStream制作赌场游戏的游戏服务器,我们正在Node JS中编写它。我正在使用DeepStream List来创建具有客户端最小和最大限制的房间(列表计数)。一个房间最多只能有5个客户。所以,如果我说我们有10000个房间可用,然后新用户来连接那么我怎么能检查免费房间或DS列表哪些是免费的新连接快速基本上我需要搜索哪个列表有免费空间或列表的数量小于5.最快的方法是什么

1 个答案:

答案 0 :(得分:2)

如果您使用的是深度数据库连接器,则可以编写一个查询,从数据库中获取非完整的房间,并将它们作为深层列表提供。使用ReThinkDB等实时数据库,可以使用change-feeds实时更新列表,否则您需要使用查询轮询数据库。
然而,这留下了用户同时加入房间的问题。这可能可以通过阀门规则see here来处理。 避免该问题的更传统的方法是使用中央RPC provider来处理加入房间的请求,仅在有可用空间时才接受。 如果您不使用数据库,则可能需要设置一个负责维护带空格的房间列表的提供程序,并且还负责处理要加入的RPC请求。