Ich entwickle ein Spiel, bei dem mein Backend in NodeJS geschrieben ist und ich socket.io für die Echtzeitkommunikation verwende.Matchmaking mit socket.io - setzen Sie auf setInterval oder Socket-Aufrufe?
Eines der Merkmale meines Spiels ist Matchmaking. Wenn sich mehr als zwei Spieler in der Matchmaking-Phase befinden, erstellt meine Anwendung ein Spielzimmer (spezieller socket.io-Raum) für sie und startet das Spiel.
Es gibt zwei Möglichkeiten, dies zu tun:
einen setInterval auf NodeJS erstellen. Überprüfen Sie in dem Intervall playersInMatchmaking-Array. Wenn sich mehr als 2 Spieler im Array befinden, erstellen Sie das Spielzimmer. Ich werde Schleife, solange der Server online ist.
Statt auf setInterval zu verlassen, überprüfen playersInMatchmaking Array jedes Mal erhalte ich einen Anruf an
socket.on("matchmaking start")
odersocket.on("matchmaking stop")
Gibt es irgendwelche Vorteile bestimmten Ansatz? setInterval klingt einfacher, da ich den Matchmaking-Algorithmus von der Socket-Logik entkoppeln kann, jedoch weniger leistungsfähig ist, da der Matchmaking-Algorithmus im Gegensatz zu Socket-Ereignissen in einer Schleife ausgeführt wird.
Was denkst du? Hast du noch andere Ideen, die besser funktionieren würden?