我正在开发一个游戏,我的后端是用 NodeJS 编写的,我使用 socket.io 进行实时通信。
我的游戏的特色之一是配对。基本上,如果有两个以上的玩家在配对期间,我的应用程序将为他们创建一个游戏房间(特殊的 socket.io 房间)并开始游戏。
有两种方法可以做到这一点:
在 NodeJS 上创建一个 setInterval。在间隔中,检查 playerInMatchmaking 数组。如果阵列中有超过 2 名玩家,则创建游戏室。只要服务器在线,我就会循环。
每次我接到电话
socket.on("matchmaking start")
或socket.on("matchmaking stop")
使用某种方法有什么好处吗?setInterval 听起来更容易,因为我可以将匹配算法与套接字逻辑分离,但是它的性能会降低,因为匹配算法将在循环中运行,而不是套接字事件。
你怎么看?您还有其他更好的想法吗?