Position actuelle: Accueil> Catégories de fonctions> stream_set_blocking

stream_set_blocking

Définir le mode de blocage ou de blocage pour le flux de ressources
Nom:stream_set_blocking
Catégorie:Flux
Langage de programmation:php
Description en une ligne:Définit le mode de blocage ou de non-blocage pour un flux donné

Nom de la fonction: stream_set_blocking ()

Version applicable: PHP 4> = 4.3.0, PHP 5, PHP 7

Utilisation: stream_set_blocking (ressource $ stream, mode bool $): bool

Fonction Description: La fonction Stream_Set_Blocking () est utilisée pour définir le mode de blocage ou de non-blocage d'un flux donné.

paramètre:

  • $ Stream: la ressource Stream pour définir le mode.
  • Mode $: spécifie le mode du flux. Si $ mode est vrai, le flux sera réglé sur le mode de blocage; Si $ mode est faux, le flux sera réglé sur le mode non bloquant.

Valeur de retour: renvoyez True sur le succès et FAUX en échec.

Exemple:

 // 创建一个网络套接字流$socket = stream_socket_client('tcp://www.example.com:80', $errno, $errstr, 30); // 将套接字流设置为非阻塞模式if (!stream_set_blocking($socket, false)) { die('无法设置套接字流为非阻塞模式'); } // 发送HTTP请求fwrite($socket, "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: Close\r\n\r\n"); // 读取响应$response = ''; while (!feof($socket)) { $response .= fread($socket, 8192); } // 关闭套接字流fclose($socket); echo $response;

Dans l'exemple ci-dessus, nous créons d'abord un flux de socket réseau, puis utilisons la fonction Stream_Set_Blocking () pour définir le flux de socket en mode non bloquant. Ensuite, nous envoyons une demande HTTP et lisons la réponse. Enfin, fermez le flux de socket et sortez le contenu de réponse.

En définissant le flux de socket en mode non bloquant, nous pouvons continuer à effectuer d'autres opérations en attendant une réponse sans avoir à attendre une réponse du serveur. Ceci est très utile pour gérer un grand nombre de demandes simultanées ou lorsque plusieurs tâches doivent être traitées simultanément.

Fonctions similaires
Articles populaires