socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("la socket n'a pas pu être créée"); socket_bind($this->socket, pg_host(), 4000) or die("la socket n'a pas pu être attachée à l'adresse ip et au port"); } public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } public function Queuing(){ global $port,$serverAdress,$rep,$vues; $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, SOL_TCP) 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_connect($socket, $serverAdress, $port) or die("Impossible de se connecter au serveur ERROR : ".socket_strerror(socket_last_error())."\n"); $request="Queuing"; $response=""; while(strcmp($response,"launchGame")!=0){ echo "test"; $response=socket_read($socket,1024); if($response!=false) { if(strcmp($response,"refreshQueue")==0) { $userGroup = $userModel->findUsersInQueue(); $numberOfPlayer=count($userGroup); header('Location : '.$rep.$vues['Queue']); } } sleep(1); } socket_close($socket); } }