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:
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.