Poppy Posté 3 Juillet 2005 Partager Posté 3 Juillet 2005 Yep Je voulais effectuer plusieurs requêtes simultannément stream_select() : j'ai pas bien compris comment on s'en servait, quelqu'un pourrait m'éclairer ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dnegel666 Posté 3 Juillet 2005 Partager Posté 3 Juillet 2005 Essai http://php.mirrors.ilisys.com.au/manual/fr...ream-select.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
Poppy Posté 4 Juillet 2005 Auteur Partager Posté 4 Juillet 2005 J'avais déjà vu ça, mais j'aimerai un exemple concret Lien vers le commentaire Partager sur d’autres sites More sharing options...
loufoque Posté 6 Juillet 2005 Partager Posté 6 Juillet 2005 (modifié) par exemple, pour récupérer dans un tableau de chaînes les données lisibles sur plusieurs flux : $buffer = array();$remove = array();$streams = array($sd1, $sd2, $sd3);$timeout = NULL; // on peut mettre un timeout en secondeswhile(true){ $r = array_diff($streams, $remove); if(!$r) break; $chg = stream_select($r, $w = NULL, $e = NULL, $timeout); if($chg === false) { // erreur, throw new Exception par exemple } if($chg > 0) { foreach($r as $sd) { $data = fread($sd, 4096); if($data === false) { // erreur } if($data == '') { $remove[] = $sd; } if(!isset($buffer[intval($sd)])) { $buffer[intval($sd)] = $data; } else { $buffer[intval($sd)] .= $data; } } } else { // time out (si fourni) }} Modifié 6 Juillet 2005 par loufoque Lien vers le commentaire Partager sur d’autres sites More sharing options...
Poppy Posté 7 Juillet 2005 Auteur Partager Posté 7 Juillet 2005 Oulala, difficile à utiliser dis moi Merci tout de même Lien vers le commentaire Partager sur d’autres sites More sharing options...
loufoque Posté 7 Juillet 2005 Partager Posté 7 Juillet 2005 (modifié) En quoi c'est compliqué ? ça bloque jusqu'à timeout secondes dans l'attente de données lisibles sur un des flux du tableau de flux passé en paramètre. ça retourne alors le nombre de flux qui sont lisibles et ça modifie le tableau en conséquence. (je suis parti du principe qu'on ne considérait que l'attente pour la lecture, mais il y a aussi l'attente pour l'écriture et les exceptions) Modifié 7 Juillet 2005 par loufoque Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant