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 ?