Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / standard / tests / streams / stream_get_meta_data_socket_variation2.phpt
blobd30fec7056ae7b7269c7c4fde4f025797f254c87
1 --TEST--
2 Testing stream_get_meta_data() "timed_out" field on a udp socket
3 --FILE--
4 <?php
6 /* Setup socket server */
7 $server = stream_socket_server('tcp://127.0.0.1:31337');
9 /* Connect to it */
10 $client = fsockopen('tcp://127.0.0.1:31337');
11 if (!$client) {
12         die("Unable to create socket");
15 /* Accept that connection */
16 $socket = stream_socket_accept($server);
18 var_dump(stream_get_meta_data($client));
20 echo "\n\nSet a timeout on the client and attempt a read:\n";
21 socket_set_timeout($client, 0, 1000);
22 fread($client, 1);
23 var_dump(stream_get_meta_data($client));
25 echo "\n\nWrite some data from the server:\n";
26 fwrite($socket, "12345");
27 var_dump(stream_get_meta_data($client));
29 echo "\n\nRead some data from the client:\n";
30 fread($client, 5);
31 var_dump(stream_get_meta_data($client));
33 fclose($client);
34 fclose($socket);
35 fclose($server);
38 --EXPECTF--
39 array(7) {
40   ["stream_type"]=>
41   string(%d) "tcp_socke%s"
42   ["mode"]=>
43   string(2) "r+"
44   ["unread_bytes"]=>
45   int(0)
46   ["seekable"]=>
47   bool(false)
48   ["timed_out"]=>
49   bool(false)
50   ["blocked"]=>
51   bool(true)
52   ["eof"]=>
53   bool(false)
57 Set a timeout on the client and attempt a read:
58 array(7) {
59   ["stream_type"]=>
60   string(%d) "tcp_socke%s"
61   ["mode"]=>
62   string(2) "r+"
63   ["unread_bytes"]=>
64   int(0)
65   ["seekable"]=>
66   bool(false)
67   ["timed_out"]=>
68   bool(true)
69   ["blocked"]=>
70   bool(true)
71   ["eof"]=>
72   bool(false)
76 Write some data from the server:
77 array(7) {
78   ["stream_type"]=>
79   string(%d) "tcp_socke%s"
80   ["mode"]=>
81   string(2) "r+"
82   ["unread_bytes"]=>
83   int(0)
84   ["seekable"]=>
85   bool(false)
86   ["timed_out"]=>
87   bool(true)
88   ["blocked"]=>
89   bool(true)
90   ["eof"]=>
91   bool(false)
95 Read some data from the client:
96 array(7) {
97   ["stream_type"]=>
98   string(%d) "tcp_socke%s"
99   ["mode"]=>
100   string(2) "r+"
101   ["unread_bytes"]=>
102   int(0)
103   ["seekable"]=>
104   bool(false)
105   ["timed_out"]=>
106   bool(false)
107   ["blocked"]=>
108   bool(true)
109   ["eof"]=>
110   bool(false)