How can error handling be optimized when using socket functions in PHP?

When using socket functions in PHP, error handling can be optimized by checking for errors after each socket function call using the `socket_last_error()` and `socket_strerror()` functions. This allows you to handle errors appropriately and provide meaningful error messages to users or log them for debugging purposes.

// Create a socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// Check for errors
if ($socket === false) {
    $error_code = socket_last_error();
    $error_msg = socket_strerror($error_code);
    die("Socket creation failed: [$error_code] $error_msg\n");
}

// Use the socket for sending/receiving data
// Remember to check for errors after each socket function call

// Close the socket
socket_close($socket);