PHP 4.0 Bug #8775 Updated: pfsockopen - socket_get_status has EOF set.. feof() returns false
| From: | seymour at foxvalley dot net | Date: | Sat, 20 Jan 2001 17:09:09 +0000 |
| Subject: | PHP 4.0 Bug #8775 Updated: pfsockopen - socket_get_status has EOF set.. feof() returns false | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-44638@lists.php.net to get a copy of this message | ||
ID: 8775
User Update by: seymour@foxvalley.net
Status: Open
Bug Type: Sockets related
Description: pfsockopen - socket_get_status has EOF set.. feof() returns false
After further working with this, I have found that even if I keep all of my code within one script
and never fclose() I'm still getting disconnected after all the data is read. I'm pretty
sure that this is not related to my code. I verified via telnet that the server I'm connecting
to does not close the connection.
Previous Comments:
---------------------------------------------------------------------------
[2001-01-18 01:00:36] seymour@foxvalley.net
i have found that socket_get_status will say that an EOF has occurred but feof() says otherwise (and
the socket isn't disconnected). feof() seems to be working fine.
im using pfsockopen() to create the socket.
also, im seeing 0 bytes unread until i attempt reading once, then the correct number of bytes
remaining are listed.
this may be unrelated but once i have read all of the bytes remaining, i get a EOF (detected by
feof() and the connection is toast after that point). it could be a bug somewhere in my scripts
logic.. but who knows.
System Linux 2.0.36 #4 Thu Aug 19 23:54:41 CDT 1999 i586 unknown
Build Date Jan 15 2001
Configure Command './configure' '--with-mysql'
'--with-apache=../apache_1.3.4' '--enable-track-vars'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib
ZEND_DEBUG disabled
Thread Safety disabled
code snippit:
$stat = socket_get_status($socketptr);
if ($stat["eof"] == 1) {
if (!(feof($socketptr))) {
print "socket_get_status lied?";
return true;
}
else {
fclose($socketptr);
print "REMOTE CLOSED CONNECTION<br>";
exit;
}
}
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=8775