Annotation of embedaddon/php/ext/standard/tests/file/fgets_socket_variation2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: fgets() over a socket with more than a buffer's worth of data
! 3: --CREDITS--
! 4: Dave Kelsey <d_kelsey@uk.ibm.com>
! 5: --FILE--
! 6: <?php
! 7:
! 8: // create a file
! 9: $filename = __FILE__ . ".tmp";
! 10: $fd = fopen($filename, "w+");
! 11:
! 12: // populate the file with lines of data
! 13: define("LINE_OF_DATA", "12345678\n");
! 14: for ($i = 0; $i < 1000; $i++) {
! 15: fwrite($fd, LINE_OF_DATA);
! 16: }
! 17: fclose($fd);
! 18:
! 19: /* Setup socket server */
! 20: $server = stream_socket_server('tcp://127.0.0.1:31337');
! 21:
! 22: /* Connect to it */
! 23: $client = fsockopen('tcp://127.0.0.1:31337');
! 24:
! 25: if (!$client) {
! 26: die("Unable to create socket");
! 27: }
! 28:
! 29: /* Accept that connection */
! 30: $socket = stream_socket_accept($server);
! 31:
! 32: echo "Write data from the file:\n";
! 33: $data = file_get_contents($filename);
! 34: unlink($filename);
! 35:
! 36: var_dump(fwrite($socket, $data));
! 37: fclose($socket);
! 38:
! 39: echo "\nRead lines from the client\n";
! 40: while ($line = fgets($client,256)) {
! 41: if (strcmp($line, LINE_OF_DATA) != 0) {
! 42: echo "Error - $line does not match " . LINE_OF_DATA;
! 43: break;
! 44: }
! 45: }
! 46:
! 47: echo "\nClose the server side socket and read the remaining data from the client\n";
! 48: fclose($server);
! 49: while(!feof($client)) {
! 50: fread($client, 1);
! 51: }
! 52:
! 53: echo "done\n";
! 54:
! 55: ?>
! 56: --EXPECT--
! 57: Write data from the file:
! 58: int(9000)
! 59:
! 60: Read lines from the client
! 61:
! 62: Close the server side socket and read the remaining data from the client
! 63: done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>