Suppresion de code inutile +
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
Test trie énigmes par ordreServeurDeTest
parent
a9997e1839
commit
f104d625d2
@ -1,94 +0,0 @@
|
|||||||
<?php
|
|
||||||
class RequestHandler{
|
|
||||||
private PartieGateway $partie_gateway;
|
|
||||||
private array $arraySocketGroup;
|
|
||||||
private array $socketsFromQueue;
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->partie_gateway=new PartieGateway();
|
|
||||||
$this->arraySocketGroup=array();
|
|
||||||
$this->socketsFromQueue=array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function Queuing($socket,string $request){
|
|
||||||
global $playerNumberPerGame;
|
|
||||||
|
|
||||||
// Ajoute la connection à un tableau de connection des joueurs en attente
|
|
||||||
|
|
||||||
$socketsFromQueue[]=$socket;
|
|
||||||
|
|
||||||
echo 'ajout de la connecion au tableau des connections en attente'.count($socketsFromQueue). '(Queuing : RequestHandler)';
|
|
||||||
|
|
||||||
// si le nombre de joueur par partie nécessaire est égal au nombre de connection encore dans la file d'attente
|
|
||||||
// alors envoie à l'utilisateur de lancer la partie et ajoute l'ensemble de connection à un tableau de groupe de sockets avec comme paire clés valeurs
|
|
||||||
// l'identifiant de la partie et l'ensemble de connections sinon envoie à tout les utilisateurs en file d'attente qu'il faut rafraichir la page de la file d'attente
|
|
||||||
|
|
||||||
echo 'nombre de joueurs en attente : '.count($socketsFromQueue).' nombre de joueurs par partie : '.$playerNumberPerGame.'(Queuing : RequestHandler)';
|
|
||||||
if(count($socketsFromQueue)==$playerNumberPerGame)
|
|
||||||
{
|
|
||||||
echo "lancement de la partie (Queuing : RequestHandler)\n";
|
|
||||||
$response="launchGame";
|
|
||||||
$idPartie=$this->partie_gateway->findPartieInQueue();
|
|
||||||
echo 'id de la partie : '.$idPartie ." (Queuing : RequestHandler)\n";
|
|
||||||
$arraySocketGroup[$idPartie]=$socketsFromQueue;
|
|
||||||
$socketsFromQueue=array();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo "rafraichissement de la file d'attente (Queuing : RequestHandler)\n";
|
|
||||||
$response="refreshQueue";
|
|
||||||
}
|
|
||||||
// var_dump($socketsFromQueue);
|
|
||||||
// var_dump($response);
|
|
||||||
foreach($socketsFromQueue as $sock)
|
|
||||||
{
|
|
||||||
// var_dump($sock);
|
|
||||||
echo 'envoie de la réponse au client : '.$response ." (Queuing : RequestHandler)\n";
|
|
||||||
$result=socket_write($sock,$response,strlen($response)) or die("N'a pas pu écrire à la socket (Queuing : RequestHandler)\n");
|
|
||||||
// var_dump($result);
|
|
||||||
if($result==false)
|
|
||||||
{
|
|
||||||
echo "erreur d'écriture (Queuing : RequestHandler)\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $response;
|
|
||||||
}
|
|
||||||
public function quitQueue(Socket $client,String $request){
|
|
||||||
// supprime le socket de la liste des sockets en attente
|
|
||||||
$socketsFromQueue=array_diff($this->socketsFromQueue, array($client));
|
|
||||||
$response="quitQueue";
|
|
||||||
// envoie à tous les utilisateurs en attente de rafraichir la page
|
|
||||||
foreach($socketsFromQueue as $socket)
|
|
||||||
{
|
|
||||||
socket_write($socket, $response, strlen($response)) or die("N'a pas pu envoyer la réponse au client (Queuing : RequestHandler)\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public function quitGame(Socket $client,String $request){
|
|
||||||
// supprime la socket de la liste des sockets en attente
|
|
||||||
$this->arraySocketGroup=array_diff($this->arraySocketGroup, array($client));
|
|
||||||
$response="quitGame";
|
|
||||||
// envoie à tous les utilisateurs en attente de rafraichir la page
|
|
||||||
foreach($this->arraySocketGroup[explode(" ",$request)[1]] as $socket)
|
|
||||||
{
|
|
||||||
socket_write($socket, $response, strlen($response)) or die("N'a pas pu envoyer la réponse au client (Queuing : RequestHandler)\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public function refreshDashBoard(Socket $client,String $request){
|
|
||||||
$response="refreshDashBoard";
|
|
||||||
// envoie à tous les utilisateurs en attente de rafraichir la page
|
|
||||||
foreach($this->arraySocketGroup[explode(" ",$request)[1]] as $socket)
|
|
||||||
{
|
|
||||||
socket_write($socket, $response, strlen($response)) or die("N'a pas pu envoyer la réponse au client (Queuing : RequestHandler)\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public function finishGame(Socket $client,String $request){
|
|
||||||
// supprime la socket de la liste des sockets en attente
|
|
||||||
$this->arraySocketGroup=array_diff($this->arraySocketGroup, array($client));
|
|
||||||
$response="finishGame";
|
|
||||||
// envoie à tous les utilisateurs en attente de rafraichir la page
|
|
||||||
foreach($this->arraySocketGroup[explode(" ",$request)[1]] as $socket)
|
|
||||||
{
|
|
||||||
socket_write($socket, $response, strlen($response)) or die("N'a pas pu envoyer la réponse au client (Queuing : RequestHandler)\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue