stream_set_timeout
스트림에서 시간 초과를 설정하십시오
함수 이름 : stream_set_timeout ()
해당 버전 : PHP 4, PHP 5, PHP 7
사용법 : stream_set_timeout (Resource $ stream, int $ 초, int $ microseconds = 0) : bool
함수 설명 : stream_set_timeout ()는 지정된 스트림의 시간 초과 시간을 설정하는 데 사용됩니다. 타임 아웃 스트림을 읽거나 작성할 때 데이터를 기다리는 최대 시간을 지정합니다. 타임 아웃 시간 내에 데이터를 읽거나 쓰지 않으면 함수가 False를 반환합니다.
매개 변수 :
반환 값 : 타임 아웃 시간이 성공적으로 설정된 경우 true 리턴; 그렇지 않으면 false를 반환합니다.
예:
// 创建一个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;
위의 예에서는 먼저 Stream_Socket_Client () 함수를 사용하여 TCP 클라이언트 연결을 만듭니다. 그런 다음 stream_set_timeout () 함수를 사용하여 타임 아웃을 5 초로 설정하십시오. 다음으로 HTTP 요청을 보냈고 서버의 응답을 읽었습니다. 마지막으로 연결이 닫히고 응답이 인쇄됩니다.
시간 초과 시간을 설정하는 것은 작업을 읽고 쓰는 데만 적용되며 연결 설정 또는 폐쇄 프로세스에는 영향을 미치지 않습니다.