ID: 16877 Comment by: info at tentoday dot com Reported By: webmaster at red-sub-tech dot ws Status: No Feedback Bug Type: Sockets related Operating System: Windows 2000 Profesional PHP Version: 4.2.0 New Comment:
This problem is still available. Currently testing on Windows XP professional SP2. Is there any workaround available? Currently the sockets are just not usable on Windows XP. I haven't tested on Windows 2003 but expect the same. Version used is: PHP 5.2.0. Thanks for information! Previous Comments: ------------------------------------------------------------------------ [2005-07-09 22:40:32] firebuddy007 at ameritech dot net ive got one system with xp home, and one with xp pro, and socket_read only reads one character on BOTH systems its rather frustrating ------------------------------------------------------------------------ [2002-07-15 09:37:47] administrator at zinious dot com Looks like a bug in the code. I'm using Windows 2000 Server (same OS family) and am reading multiple bytes of text at one read. ------------------------------------------------------------------------ [2002-06-05 01:00:07] php-bugs at lists dot php dot net No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2002-05-04 19:06:00] [EMAIL PROTECTED] Please try with CVS HEAD and report back. But do *not* rely on the manuals sample script, they're outdated. ------------------------------------------------------------------------ [2002-04-27 15:07:18] webmaster at red-sub-tech dot ws Note this script was taken DIRECTLY from the PHP Manual (which you guys have yet to update with the new socket fixes). And I used this in Windows with a batch file (only one line on the batch file: @c:\PHP\php-cli.exe -q c:\php\server.php ) Script: error_reporting (E_ALL); /* Allow the script to hang around waiting for connections. */ set_time_limit (0); /* Turn on implicit output flushing so we see what we're getting * as it comes in. */ ob_implicit_flush (); $address = 'xxx.xxx.x.xxx; $port = 10000; if (($sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) { echo "socket_create() failed: reason: " . socket_strerror ($sock) . "\n"; } if (($ret = socket_bind ($sock, $address, $port)) < 0) { echo "socket_bind() failed: reason: " . socket_strerror ($ret) . "\n"; } if (($ret = socket_listen ($sock, 5)) < 0) { echo "socket_listen() failed: reason: " . socket_strerror ($ret) . "\n"; } do { if (($msgsock = socket_accept($sock)) < 0) { echo "socket_accept() failed: reason: " . socket_strerror ($msgsock) . "\n"; break; } /* Send instructions. */ $msg = "\nWelcome to the PHP Test Server. \n" . "To quit, type 'quit'. To shut down the server type 'shutdown'.\n"; socket_write($msgsock, $msg, strlen($msg)); do { if (FALSE === ($buf = socket_read ($msgsock, 2048))) { echo "socket_read() failed: reason: " . socket_strerror ($ret) . "\n"; break 2; } if (!$buf = trim ($buf)) { continue; } if ($buf == 'quit') { break; } if ($buf == 'shutdown') { socket_close ($msgsock); break 2; } $talkback = "PHP: You said '$buf'.\n"; socket_write ($msgsock, $talkback, strlen ($talkback)); echo "$buf\n"; } while (true); socket_close ($msgsock); } while (true); socket_close ($sock); ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/16877 -- Edit this bug report at http://bugs.php.net/?id=16877&edit=1