|
|
@ -1,61 +1,63 @@
|
|
|
|
<?php
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
class Client{
|
|
|
|
class Client
|
|
|
|
|
|
|
|
{
|
|
|
|
private static $instance;
|
|
|
|
private static $instance;
|
|
|
|
private $socket;
|
|
|
|
private $socket;
|
|
|
|
public static function getInstance() {
|
|
|
|
public static function getInstance()
|
|
|
|
|
|
|
|
{
|
|
|
|
if (self::$instance === null) {
|
|
|
|
if (self::$instance === null) {
|
|
|
|
self::$instance = new self();
|
|
|
|
self::$instance = new self();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return self::$instance;
|
|
|
|
return self::$instance;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function Queuing(){
|
|
|
|
public function Queuing()
|
|
|
|
global $port,$serverAdress,$rep,$vues, $BUFFER_SIZE;
|
|
|
|
{
|
|
|
|
|
|
|
|
global $port, $serverAdress, $rep, $vues, $BUFFER_SIZE;
|
|
|
|
$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(0);
|
|
|
|
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()) . "\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()) . "\n";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
echo "socket_set_block a réussi.\n";
|
|
|
|
echo "socket_set_block a réussi.\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()) . "\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()) . "\n";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
echo "socket_connect a réussi.\n";
|
|
|
|
echo "socket_connect a réussi.\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()) . "\n";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
echo "socket_write a réussi.\n";
|
|
|
|
echo "socket_write a réussi.\n";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$response="";
|
|
|
|
$response = "";
|
|
|
|
while(strcmp($response,"launchGame")!=0){
|
|
|
|
$response = socket_read($socket, $BUFFER_SIZE);
|
|
|
|
$response=socket_read($socket, $BUFFER_SIZE);
|
|
|
|
echo $response;
|
|
|
|
if($response!=false)
|
|
|
|
// while (strcmp($response, "launchGame") != 0) {
|
|
|
|
{
|
|
|
|
// $response = socket_read($socket, $BUFFER_SIZE);
|
|
|
|
echo "socket_read a réussi.\n";
|
|
|
|
// if ($response != false) {
|
|
|
|
if(strcmp($response,"refreshQueue")==0)
|
|
|
|
// echo "socket_read a réussi.\n";
|
|
|
|
{
|
|
|
|
// if (strcmp($response, "refreshQueue") == 0) {
|
|
|
|
// $userGroup = $userModel->findUsersInQueue();
|
|
|
|
// // $userGroup = $userModel->findUsersInQueue();
|
|
|
|
// $numberOfPlayer=count($userGroup);
|
|
|
|
// // $numberOfPlayer=count($userGroup);
|
|
|
|
header('Location : '.$rep.$vues['main']);
|
|
|
|
// header('Location : ' . $rep . $vues['main']);
|
|
|
|
break;
|
|
|
|
// break;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// } else {
|
|
|
|
else{
|
|
|
|
// echo "socket_read a échoué : " . socket_strerror(socket_last_error()) . "\n";
|
|
|
|
echo "socket_read a échoué : " . socket_strerror(socket_last_error()) . "\n";
|
|
|
|
// break;
|
|
|
|
break;
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|