私はバックエンドがNodeJSで書かれたゲームを開発しています。リアルタイム通信にはsocket.ioを使用しています。socket.ioとのマッチメイキング - setIntervalまたはソケット呼び出しを使用しますか?
私のゲームの特徴の1つは、マッチメイキングです。基本的に、2人以上のプレイヤーがマッチメイキング中の場合、私のアプリケーションはゲームルーム(特別なsocket.ioルーム)を作成し、ゲームを開始します。
これを行うには2つの方法があります。
はNodeJS上のsetIntervalを作成します。その間、playersInMatchmaking配列をチェックします。配列に2人以上のプレイヤーがいる場合は、ゲームルームを作成します。私はサーバーがオンラインである限りループします。
代わりのsetIntervalに頼って、playersInMatchmaking配列を確認し、私は
socket.on("matchmaking start")
またはsocket.on("matchmaking stop")
に電話を受けるたびに、特定のアプローチを使用して任意のメリットはありますか?マッチメイキングアルゴリズムをソケットロジックと切り離すことができるので、setIntervalはより簡単に聞こえますが、マッチメイキングアルゴリズムはソケットイベントではなくループで実行されるため、パフォーマンスが低下します。
あなたはどう思いますか?他のアイディアがありますか?