stream_register_wrapper <<< |
stream_select | stream_set_blocking >>> |
7.101 Flôts 7 Index des fonctions Manuel PHP . Introduction . Filtres de flôts . Contextes de flôts . Installation . Classes Stream . Constantes prédefinies . Erreurs de flôts . Exemples . stream_context_create . stream_context_get_options . stream_context_set_option . stream_context_set_params . stream_copy_to_stream . stream_filter_append . stream_filter_prepend . stream_filter_register . stream_get_filters . stream_get_line . stream_get_meta_data . stream_get_transports . stream_get_wrappers . stream_register_wrapper ->stream_select . stream_set_blocking . stream_set_timeout . stream_set_write_buffer . stream_socket_accept . stream_socket_client . stream_socket_get_name . stream_socket_server . stream_wrapper_register |
7.101.23 stream_select()Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec[ Exemples avec stream_select ] PHP 4 >= 4.3.0 int stream_select ( resource &read , resource &write , resource &except , int tv_sec , int tv_usec )stream_select accepte un tableau de flôts et attend que l'un d'entre eux change de statut. Cette opération est équivalente à ce que fait la fonction socket_select , ormis le fait qu'elle travaille sur flôts. Les flôts qui sont listés dans le paramètre read seront surveillés en lecture, c'est à dire si de nouveaux octets sont disponibles en lecture (pour être précis, si une lecture ne bloquera pas, ce qui inclut aussi les flôts qui sont en fin de fichier, auquel cas un appel à la fonction fread retournera une chaîne de taille 0). Les flôts qui sont listés dans le paramètre write seront surveillé en écriture (pour être précis, si une écriture ne bloquera pas). Les flôts qui sont listés dans le paramètre except seront surveillé pour voir si une exception est levée.
Vous n'êtes pas obligés de passer tous les tableaux à la fonction stream_select . Vous pouvez en omettre certains, en utilisant un tabeau vide ou la valeur NULL . N'oubliez pas que ces tableaux sont passés par référence et qu'ils seront modifiés lorsque stream_select s'achèvera. Exemple
Les paramètres tv_sec et tv_usec ensemle forment le délai d'expiration. Ce délai est la durée maximale d'exécution de stream_select . tv_sec peut valoir zéro, ce qui fait que stream_select s'achève immédiatement. C'est pratique pour réaliser du polling. Si tv_sec est NULL (pas de délai d'expiration), stream_select peut bloquer le script indéfiniment. En cas de succès, stream_select retourne le nomre de flôts qui ont évolué, ce qui peut être zéro si le délai d'expiration a été atteint avant que les flôts n'évoluent. En cas d'erreur, la fonction retourne FALSE .
Voir aussi stream_set_blocking . |
<< | stream_select | >> |
stream_register_wrapper | Flôts | stream_set_blocking |