test
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
7ba41afc46
commit
5e40675420
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
class Queuing extends Threaded
|
||||
{
|
||||
private $m_inputs;
|
||||
private $m_outputs;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
// $this->m_inputs = $inputs;
|
||||
$this->m_outputs = new Threaded(); // we will store the results in here.
|
||||
}
|
||||
|
||||
|
||||
public function run()
|
||||
{
|
||||
global $port, $serverAdress, $rep, $vues, $BUFFER_SIZE;
|
||||
$userModel = new UserModel();
|
||||
// pas d'arrêt d'éxécution du script (No timeout)
|
||||
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");
|
||||
// connecter la socket à l'adresse ip et au port du serveur
|
||||
$result = socket_set_block($socket);
|
||||
if ($result === false) {
|
||||
echo "socket_set_block a échoué : " . socket_strerror(socket_last_error()) . "\n";
|
||||
} else {
|
||||
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");
|
||||
if ($result === false) {
|
||||
// La connexion de la socket à l'adresse et au port a échoué
|
||||
echo "socket_connect a échoué : " . socket_strerror(socket_last_error()) . "\n";
|
||||
} else {
|
||||
echo "socket_connect a réussi.\n";
|
||||
$request = "Queuing";
|
||||
$result = socket_write($socket, $request, strlen($request));
|
||||
if ($result === false) {
|
||||
echo "socket_write a échoué : " . socket_strerror(socket_last_error()) . "\n";
|
||||
} else {
|
||||
echo "socket_write a réussi.\n";
|
||||
}
|
||||
$response = "";
|
||||
while (strcmp($response, "launchGame") != 0) {
|
||||
$response = socket_read($socket, $BUFFER_SIZE);
|
||||
if ($response != false) {
|
||||
echo "socket_read a réussi.\n";
|
||||
if (strcmp($response, "refreshQueue") == 0) {
|
||||
$userGroup = $userModel->findUsersInQueue();
|
||||
$numberOfPlayer = count($userGroup);
|
||||
header('Location : ' . $rep . $vues['queue']);
|
||||
}
|
||||
} else {
|
||||
echo "socket_read a échoué : " . socket_strerror(socket_last_error()) . "\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Accessors
|
||||
public function getResults() { return $this->m_outputs; }
|
||||
}
|
Loading…
Reference in new issue