Annotation of embedaddon/php/ext/standard/tests/file/fgets_socket_variation1.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: fgets() with a socket stream
3: --CREDITS--
4: Dave Kelsey <d_kelsey@uk.ibm.com>
5: --FILE--
6: <?php
7:
1.1.1.2 ! misho 8: for ($i=0; $i<100; $i++) {
! 9: $port = rand(10000, 65000);
! 10: /* Setup socket server */
! 11: $server = @stream_socket_server("tcp://127.0.0.1:$port");
! 12: if ($server) {
! 13: break;
! 14: }
! 15: }
1.1 misho 16:
17: /* Connect to it */
1.1.1.2 ! misho 18: $client = fsockopen("tcp://127.0.0.1:$port");
1.1 misho 19:
20: if (!$client) {
21: die("Unable to create socket");
22: }
23:
24: /* Accept that connection */
25: $socket = stream_socket_accept($server);
26:
27: echo "Write some data:\n";
28: fwrite($socket, "line1\nline2\nline3\n");
29:
30:
31: echo "\n\nRead a line from the client:\n";
32: var_dump(fgets($client));
33:
34: echo "\n\nRead another line from the client:\n";
35: var_dump(fgets($client));
36:
37: echo "\n\nClose the server side socket and read the remaining data from the client\n";
38: fclose($socket);
39: fclose($server);
40: while(!feof($client)) {
41: fread($client, 1);
42: }
43:
44: echo "done\n";
45:
46: ?>
47: --EXPECT--
48: Write some data:
49:
50:
51: Read a line from the client:
52: string(6) "line1
53: "
54:
55:
56: Read another line from the client:
57: string(6) "line2
58: "
59:
60:
61: Close the server side socket and read the remaining data from the client
62: done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>