在 PHP 网络编程中,settimeout()
函数用于设置套接字(socket)的超时选项
以下是一个使用 settimeout()
函数的示例:
10, 'usec' => 500000); // 设置为 10 秒 500 毫秒 socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, $timeout); socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, $timeout); // 向服务器发送数据 $data = "https://www.yisu.com/ask/GET / HTTP/1.1/r/nHost: 127.0.0.1/r/nConnection: Close/r/n/r/n"; socket_write($socket, $data); // 从服务器接收数据 $response = ''; while ($buffer = socket_read($socket, 4096)) { $response .= $buffer; } // 关闭套接字 socket_close($socket); // 输出服务器响应 echo $response; ?>
在这个示例中,我们首先创建了一个 TCP/IP 套接字,然后连接到本地服务器。接着,我们使用 socket_set_option()
函数设置套接字的接收和发送超时。最后,我们向服务器发送数据并接收响应,然后关闭套接字。
注意:在实际应用中,你可能需要根据实际情况调整超时值。过短的超时时间可能导致套接字过早地超时,而过长的超时时间可能导致程序在等待响应时变得不够灵活。