socket_last_error
返回套接字上的最后一个错误
PHP 4, PHP 5, PHP 7, PHP 8
socket_last_error 函数用于获取最后一个套接字操作的错误代码。此错误代码是与当前进程相关的,表示最近一次套接字操作中的错误。如果没有错误发生,返回值为0。
socket_last_error( resource $socket )
$socket (必选):套接字资源,通常是通过调用 socket_create()、socket_accept() 等函数创建的。
返回最后一个套接字操作的错误代码,如果没有错误发生,则返回 0。
下面的示例演示了如何使用 socket_last_error 函数来检查 socket 是否发生错误。
<?php // 创建一个 TCP 套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); <p>// 检查套接字是否创建成功<br> if ($socket === false) {<br> echo "套接字创建失败: " . socket_strerror(socket_last_error()) . "\n";<br> } else {<br> echo "套接字创建成功\n";<br> }</p> <p>// 假设某个操作失败后,我们可以获取最后的错误代码<br> socket_last_error($socket);<br> $error_code = socket_last_error($socket);<br> echo "最后的错误代码: $error_code\n";</p> <p>// 关闭套接字<br> socket_close($socket);<br> ?><br>
在此示例中,我们首先创建了一个 TCP 套接字并检查其是否创建成功。如果创建失败,我们通过 socket_strerror() 获取并显示错误信息。如果套接字成功创建,我们会模拟一个错误发生的情境,使用 socket_last_error() 获取错误代码并显示。