What are the potential pitfalls when using fsockopen() and is_resource() to check server connections?

When using fsockopen() and is_resource() to check server connections, a potential pitfall is that is_resource() may not always accurately detect whether the connection is valid or not. To solve this issue, it is recommended to also use feof() (end-of-file) function to check if the connection is still active.

$socket = fsockopen($host, $port, $errno, $errstr, $timeout);

if ($socket) {
    if (!feof($socket)) {
        // Connection is valid
        echo 'Connection is valid';
    } else {
        // Connection is closed
        echo 'Connection is closed';
    }
} else {
    // Connection failed
    echo 'Connection failed';
}