Bug #8775 Updated: pfsockopen - socket_get_status has EOF set.. feof() returns false
| From: | mfischer@php.net | Date: | Wed, 21 Nov 2001 17:12:10 +0000 |
| Subject: | Bug #8775 Updated: pfsockopen - socket_get_status has EOF set.. feof() returns false | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-71264@lists.php.net to get a copy of this message | ||
ID: 8775
Updated by: mfischer
Reported By: seymour@foxvalley.net
Old Status: Open
Status: Feedback
Bug Type: Sockets related
Operating System: Linux
PHP Version: 4.0.4pl1
New Comment:
Can you try with latest RC and see if it works
http://www.php.net/~zeev/php-4.1.0RC3.tar.gz
Feedback.
Previous Comments:
------------------------------------------------------------------------
[2001-01-20 12:09:09] seymour@foxvalley.net
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.
------------------------------------------------------------------------
[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;
}
}
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=8775&edit=1