ID:               26454
 Updated by:       [EMAIL PROTECTED]
 Reported By:      nunoplopes at sapo dot pt
-Status:           Open
+Status:           Feedback
 Bug Type:         Sockets related
 Operating System: Windows XP - Apache
 PHP Version:      4CVS-2003-11-30
 Assigned To:      wez
 New Comment:

Please, just a single script, and please explain what happens and why
it is wrong.


Previous Comments:
------------------------------------------------------------------------

[2003-11-30 05:14:18] nunoplopes at sapo dot pt

I've compiled a couple of tests and its results on my pc, using the
snapshot of Nov 30, 2003 09:30 GMT.

The tests andits results are at:
http://testes.aborla.net/php-bugreport.tar.bz2

------------------------------------------------------------------------

[2003-11-30 04:33:06] [EMAIL PROTECTED]

Can you clarify what is happening now (with the updated snapshot)?
Provide a short script and explain what happens and why you think it is
wrong.
Thanks!

------------------------------------------------------------------------

[2003-11-29 14:59:41] nunoplopes at sapo dot pt

I've installed the new snapshot (Nov 29, 2003 17:30 GMT).

The script still times out. The example I wrote before still doesn't
work, but there is other with feof that works. Really strange....


Working script:
<?
$fp = fsockopen ("pt.php.net", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs ($fp, "GET / HTTP/1.1\r\n");
    fputs ($fp, "Host: pt.php.net\r\n");
    fputs ($fp, "Connection: Close\r\n\r\n");
    while (!feof($fp)) {
        echo fgets ($fp,128);
    }
    fclose ($fp);
}
?>

------------------------------------------------------------------------

[2003-11-28 17:26:23] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Please try the snapshot that will be generated in about 4 hours (from
the time of this post).

------------------------------------------------------------------------

[2003-11-28 15:17:56] nunoplopes at sapo dot pt

Description:
------------
I opened a socket using fsockopen and then I send some data using
fputs.
Then I try to read data either using feof of fgets. If the servers
returns 2 lines and I call three times the fgets(), the script times
out when it reaches the 30 seconds. If I only call fgets 2 times,
everything works fine.
feof also stops the script execution.
So, I have no way to know if servers' response has ended or not.

Reproduce code:
---------------
Get the code from CVS at:
http://cvs.sourceforge.net/viewcvs.py/phpdocmanager/phpcvsclass/

Or just a small example:
<?
if ($handle = fsockopen ("cvs.php.net", 2401, $errno, $errstr, 30)) {

$text = "BEGIN AUTH REQUEST\n";
$text .= "/repository\n";
$text .= "cvsread\n";
$text .= "A\n";
$text .= "END AUTH REQUEST\n";

fputs ($handle, $text);
fgets($handle); // "I LOVE YOU\n"

fputs ($handle, "version\n");
echo fgets($handle);
echo fgets($handle);
echo fgets($handle);
fclose($handle);
}
?>

Expected result:
----------------
M Concurrent Versions System (CVS) 1.12.2 (client/server)\n
ok

Actual result:
--------------
timeout


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26454&edit=1

Reply via email to