test
continuous-integration/drone/push Build is passing Details

ServeurDeTest
Noé GARNIER 2 years ago
parent b05e8067e9
commit bec438e716

@ -18,27 +18,27 @@ class Client
$userModel = new UserModel(); $userModel = new UserModel();
// pas d'arrêt d'éxécution du script (No timeout) // pas d'arrêt d'éxécution du script (No timeout)
set_time_limit(20); set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("la socket n'a pas pu être créée ERROR : " . socket_strerror(socket_last_error()) . "\n"); $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("la socket n'a pas pu être créée ERROR : " . socket_strerror(socket_last_error()) . "(Client : Queuing) \n");
// connecter la socket à l'adresse ip et au port du serveur // connecter la socket à l'adresse ip et au port du serveur
$result = socket_set_block($socket); $result = socket_set_block($socket);
if ($result === false) { if ($result === false) {
echo "socket_set_block a échoué : " . socket_strerror(socket_last_error()) . "\n"; echo "socket_set_block a échoué : " . socket_strerror(socket_last_error()) . " (Client : Queuing)\n";
} else { } else {
echo "socket_set_block a réussi.\n"; echo "socket_set_block a réussi. (Client : Queuing) \n";
} }
$result = socket_connect($socket, $serverAdress, $port) or die("Impossible de se connecter au serveur ERROR : " . socket_strerror(socket_last_error()) . "\n"); $result = socket_connect($socket, $serverAdress, $port) or die("Impossible de se connecter au serveur ERROR : " . socket_strerror(socket_last_error()) . "(Client : Queuing) \n");
if ($result === false) { if ($result === false) {
// La connexion de la socket à l'adresse et au port a échoué // La connexion de la socket à l'adresse et au port a échoué
echo "socket_connect a échoué : " . socket_strerror(socket_last_error()) . "\n"; echo "socket_connect a échoué : " . socket_strerror(socket_last_error()) . "(Client : Queuing)\n";
} else { } else {
echo "socket_connect a réussi.\n"; echo "socket_connect a réussi. (Client : Queuing)\n";
$request = "Queuing"; $request = "Queuing";
$result = socket_write($socket, $request, strlen($request)); $result = socket_write($socket, $request, strlen($request));
if ($result === false) { if ($result === false) {
echo "socket_write a échoué : " . socket_strerror(socket_last_error()) . "\n"; echo "socket_write a échoué : " . socket_strerror(socket_last_error()) . " (Client : Queuing)\n";
} else { } else {
echo "socket_write a réussi.\n"; echo "socket_write a réussi.(Client : Queuing)\n";
} }
$response = "AAA"; $response = "AAA";
// $response = socket_read($socket, $BUFFER_SIZE); // $response = socket_read($socket, $BUFFER_SIZE);

@ -17,25 +17,25 @@ class RequestHandler{
$socketsFromQueue[]=$socket; $socketsFromQueue[]=$socket;
echo 'ajout de la connecion au tableau des connections en attente'.count($socketsFromQueue); 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 // 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 // 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 // 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; echo 'nombre de joueurs en attente : '.count($socketsFromQueue).' nombre de joueurs par partie : '.$playerNumberPerGame.'(Queuing : RequestHandler)';
if(count($socketsFromQueue)==$playerNumberPerGame) if(count($socketsFromQueue)==$playerNumberPerGame)
{ {
echo 'lancement de la partie\n'; echo "lancement de la partie (Queuing : RequestHandler)\n";
$response="launchGame"; $response="launchGame";
$idPartie=$this->partie_gateway->findPartieInQueue(); $idPartie=$this->partie_gateway->findPartieInQueue();
echo 'id de la partie : '.$idPartie; echo 'id de la partie : '.$idPartie ." (Queuing : RequestHandler)\n";
$arraySocketGroup[$idPartie]=$socketsFromQueue; $arraySocketGroup[$idPartie]=$socketsFromQueue;
$socketsFromQueue=array(); $socketsFromQueue=array();
} }
else else
{ {
echo "rafraichissement de la file d'attente\n"; echo "rafraichissement de la file d'attente (Queuing : RequestHandler)\n";
$response="refreshQueue"; $response="refreshQueue";
} }
// var_dump($socketsFromQueue); // var_dump($socketsFromQueue);
@ -43,12 +43,12 @@ class RequestHandler{
foreach($socketsFromQueue as $sock) foreach($socketsFromQueue as $sock)
{ {
// var_dump($sock); // var_dump($sock);
echo 'envoie de la réponse au client : '.$response ."\n"; 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\n"); $result=socket_write($sock,$response,strlen($response)) or die("N'a pas pu écrire à la socket (Queuing : RequestHandler)\n");
// var_dump($result); // var_dump($result);
if($result==false) if($result==false)
{ {
echo "erreur d'écriture\n"; echo "erreur d'écriture (Queuing : RequestHandler)\n";
} }
} }
return $response; return $response;
@ -60,7 +60,7 @@ class RequestHandler{
// envoie à tous les utilisateurs en attente de rafraichir la page // envoie à tous les utilisateurs en attente de rafraichir la page
foreach($socketsFromQueue as $socket) foreach($socketsFromQueue as $socket)
{ {
socket_write($socket, $response, strlen($response)) or die("N'a pas pu envoyer la réponse au client\n"); 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){ public function quitGame(Socket $client,String $request){
@ -70,7 +70,7 @@ class RequestHandler{
// envoie à tous les utilisateurs en attente de rafraichir la page // envoie à tous les utilisateurs en attente de rafraichir la page
foreach($this->arraySocketGroup[explode(" ",$request)[1]] as $socket) 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\n"); 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){ public function refreshDashBoard(Socket $client,String $request){
@ -78,7 +78,7 @@ class RequestHandler{
// envoie à tous les utilisateurs en attente de rafraichir la page // envoie à tous les utilisateurs en attente de rafraichir la page
foreach($this->arraySocketGroup[explode(" ",$request)[1]] as $socket) 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\n"); 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){ public function finishGame(Socket $client,String $request){
@ -88,7 +88,7 @@ class RequestHandler{
// envoie à tous les utilisateurs en attente de rafraichir la page // envoie à tous les utilisateurs en attente de rafraichir la page
foreach($this->arraySocketGroup[explode(" ",$request)[1]] as $socket) 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\n"); socket_write($socket, $response, strlen($response)) or die("N'a pas pu envoyer la réponse au client (Queuing : RequestHandler)\n");
} }
} }
} }

@ -67,12 +67,12 @@ $client=false;
while(true) { while(true) {
// Commencer à écouter sur le port // Commencer à écouter sur le port
$result = socket_listen($socket, 10) or die ("N'a pas pu configurer l'écoute sur la socket ERROR : ".socket_strerror(socket_last_error())."\n"); $result = socket_listen($socket, 10) or die ("N'a pas pu configurer l'écoute sur la socket ERROR : ".socket_strerror(socket_last_error())." (Serveur) \n");
if ($result === false) { if ($result === false) {
// L'écoute sur le port a échoué // L'écoute sur le port a échoué
echo "socket_listen a échoué : " . socket_strerror(socket_last_error()) . "\n"; echo "socket_listen a échoué : " . socket_strerror(socket_last_error()) . " (Serveur)\n";
} else { } else {
echo "socket listen sur le port :".$port."\n"; echo "socket listen sur le port :".$port." (Serveur)\n";
// L'écoute sur le port a réussi // L'écoute sur le port a réussi
} }
@ -83,7 +83,7 @@ while(true) {
$client=socket_accept($socket); $client=socket_accept($socket);
if($client === false) if($client === false)
{ {
echo "N'a pas pu accepter la connection entrante ERROR : ".socket_strerror(socket_last_error())."\n"; echo "N'a pas pu accepter la connection entrante ERROR : ".socket_strerror(socket_last_error())." (Serveur)\n";
} }
else else
{ {
@ -93,7 +93,7 @@ while(true) {
} }
var_dump($client); var_dump($client);
echo "socket_strerror(socket_last_error()) : ".socket_strerror(socket_last_error())."\n"; echo "socket_strerror(socket_last_error()) : ".socket_strerror(socket_last_error())." (Serveur)\n";
//si $client est dans le tableau des sockets à surveiller en lecture //si $client est dans le tableau des sockets à surveiller en lecture
//Met la requête du client dans $request et verifie si la requête est valide //Met la requête du client dans $request et verifie si la requête est valide
@ -106,10 +106,10 @@ while(true) {
$requestHandler = new RequestHandler(); $requestHandler = new RequestHandler();
if (method_exists($requestHandler, $request)) { if (method_exists($requestHandler, $request)) {
$function=explode(' ',$request)[0]; $function=explode(' ',$request)[0];
echo ($function."\n"); echo ($function." (Serveur) \n");
$response = $requestHandler->$function($client, $request); $response = $requestHandler->$function($client, $request);
echo 'response : '.$response."\n"; echo 'response : '.$response." (Serveur)\n";
socket_write($client,$response,strlen($response)); // socket_write($client,$response,strlen($response));
} else { } else {
$response = "Invalid request"; $response = "Invalid request";
socket_write($client,$response,strlen($response)); socket_write($client,$response,strlen($response));

Loading…
Cancel
Save