Senior
Beschrijf de flow van de spelerbeurt: hoe gaan gegevens van WebSocket naar het bijwerken van de status bij de tweede speler?
sobes.tech AI
Antwoord van AI
Wanneer de speler een zet doet, stuurt de client gegevens via WebSocket naar de server. De server ontvangt het bericht, valideert de zet (bijvoorbeeld controleert de spelregels), werkt de interne staat van het spel bij en stuurt vervolgens de bijgewerkte staat of het zetgebeurtenis naar de andere speler via zijn WebSocket-verbinding. De tweede speler ontvangt de gegevens, de client werkt de gebruikersinterface bij en toont de nieuwe zet.
Geschatte flow:
- Speler A stuurt de zet via WebSocket:
send(move). - De server ontvangt het bericht, controleert de correctheid.
- De server werkt de spelstatus bij in het geheugen of in de database.
- De server stuurt de update naar speler B:
connB.send(updatedState). - De client van speler B ontvangt de gegevens en werkt de interface bij.
// Voorbeeld van het verwerken van een bericht op de server
func handleMove(playerID string, move Move) {
if validateMove(move) {
gameState.ApplyMove(move)
broadcastToOpponent(playerID, gameState)
}
}