J'aimerais faire en sorte que lorsque 10 personnes ou plus sont en recherche de joueur (cf. Waiting other player), le server réagisse automatiquement en choissisant 9 autre personne en recherche, et envoi des données dans ma base (team1, team2, team1_captain etc..) et qu'il l'est redirige sur la page de match.

Je suis bloqué, vs pourriez m'aider ?

lobby.html

<html><head><title>WebSocket</title>
<style type="text/css">
html,body {
    font:normal 0.9em arial,helvetica;
}
#log {
    width:600px;
    height:300px;
    border:1px solid #7F9DB9;
    overflow:auto;
}
#msg {
    width:400px;
}
</style>
<script type="text/javascript">
var socket;

function init() {
    var host = "ws://127.0.0.1:9000/echobot"; // SET THIS TO YOUR SERVER
    try {
        socket = new WebSocket(host);
        socket.onopen    = function(msg) {
                               log("You have been added to the queue.<br> Waiting for others players. [1/10]");

                           };
        socket.onclose   = function(msg) {
                               window.location.replace("http://127.0.0.1/serverproblem");
                           };
    }
    catch(ex){
        log(ex);
    }
    $("msg").focus();
}

function leaveLobby(){
    if (socket != null) {
        window.location.replace("http://127.0.0.1/matchcancelled");
        socket=null;
    }
}

// Utilities
function $(id){ return document.getElementById(id); }
function log(msg){ $("log").innerHTML+="<br>"+msg; }
function onkey(event){ if(event.keyCode==13){ send(); } }
</script>

</head>
<body onload="init()">
<h3>Lobby</h3>
<div id="log"></div>
<button onclick="leaveLobby()">Quit</button>
</body>
</html>

server.php

#!/usr/bin/env php
<?php

require_once('./websockets.php');

class echoServer extends WebSocketServer {
  //protected $maxBufferSize = 1048576; //1MB... overkill for an echo server, but potentially plausible for other applications.

  protected function process ($user, $message) {
    $this->send($user, $this->checkHost);
  }

  protected function connected ($user) {

  }

  protected function closed ($user) {

  }
}

$echo = new echoServer("0.0.0.0","9000");

try {
  $echo->run();
}
catch (Exception $e) {
  $echo->stdout($e->getMessage());
}

j'aimerais maintenant faire en sorte, que lorsque il y a 10 connecté cela crée une valeur dans ma base de donnée (matchid, team1, team2 etc..) que cela deconnecte les 10 choisit au hasard (dans le cas ou il y aurais 5848 connectés).

je me retrouve bloqué, une idée ?

Aucune réponse