socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("la socket n'a pas pu être créée"); } private function __clone() {} public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } // ... autres méthodes de la classe ... 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); // connecter la socket à l'adresse ip et au port du serveur $result = socket_connect($this->socket,$serverAdress,$port) or die("la socket n'a pas pu être attachée au serveur à l'adresse "); $request="Queuing"; $response=""; while(strcmp($response,"launchGame")!=0){ $response=socket_read($this->socket,1024); if($response!==false) { if(strcmp($response,"refreshQueue")==0) { $userGroup = $userModel->findUsersInQueue(); $numberOfPlayer=count($userGroup); header('Location : '.$rep.$vues['Queue']); } } sleep(1); } } }