Nom de la fonction: stream_set_timeout ()
Version applicable: PHP 4, PHP 5, PHP 7
Utilisation: stream_set_timeout (ressource $ stream, int $ seconds, int $ microseconds = 0): bool
Description de la fonction: Stream_set_timeout () est utilisée pour définir l'heure du délai d'expiration du flux spécifié. Le délai d'expiration spécifie le temps maximum pour attendre les données lorsque le flux est lu ou écrit. Si aucune donnée n'est lue ou écrite dans le délai d'attente, la fonction renvoie False.
paramètre:
Valeur de retour: renvoyer true si l'heure du délai d'expiration est définie avec succès; Sinon, renvoyez false.
Exemple:
// 创建一个TCP 客户端连接$socket = stream_socket_client('tcp://www.example.com:80', $errno, $errstr, 30); if (!$socket) { die("连接失败: $errstr ($errno)"); } // 设置超时时间为5秒if (stream_set_timeout($socket, 5) === false) { die("设置超时时间失败"); } // 发送HTTP请求$request = "GET / HTTP/1.1\r\n"; $request .= "Host: www.example.com\r\n"; $request .= "Connection: close\r\n\r\n"; fwrite($socket, $request); // 读取响应$response = ''; while (!feof($socket)) { $response .= fread($socket, 8192); } // 关闭连接fclose($socket); echo $response;
Dans l'exemple ci-dessus, nous créons d'abord une connexion client TCP à l'aide de la fonction Stream_Socket_Client (). Ensuite, utilisez la fonction Stream_Set_Timeout () pour définir le délai d'attente sur 5 secondes. Ensuite, nous avons envoyé une demande HTTP et lu la réponse du serveur. Enfin, la connexion est fermée et la réponse est imprimée.
Veuillez noter que la définition du délai d'expiration ne s'applique que pour lire et écrire des opérations et n'affecte pas le processus d'établissement ou de clôture de connexion.