diff --git a/server/server b/server/server new file mode 100755 index 0000000000000000000000000000000000000000..b46daecc71f5294656e0a1c325e8592030126f98 Binary files /dev/null and b/server/server differ diff --git a/server/server.go b/server/server.go index 34cd1acebadcb397c76fd0dc1c457f215a2acfb1..ba9283a1979ee1540fc3633ed27019fe203699f8 100644 --- a/server/server.go +++ b/server/server.go @@ -10,6 +10,9 @@ func main() { log.Println("Serveur lancé") clients := make([]net.Conn, 0, 4) // Initialisation de la liste clients + allClientsConnected := false + tropDeClientsConnectes := false + listener, err := net.Listen("tcp", ":8080") if err != nil { @@ -19,13 +22,17 @@ func main() { defer listener.Close() for { - if len(clients) >= 4 { // Vérification de la taille de la liste + if len(clients) > 4 && !tropDeClientsConnectes{ // Vérification de la taille de la liste log.Println("Connexion refusée - Trop de clients connectés") + tropDeClientsConnectes = true + continue + } else if len(clients) == 4 && !allClientsConnected { + log.Println("Tous les joueurs sont connectés") for _, client := range clients { client.Write([]byte("Les 4 Joueurs sont connectés")) time.Sleep(1 * time.Second) // pause pour donner le temps aux clients de lire le message } - continue + allClientsConnected = true } else { conn, err := listener.Accept() if err != nil {