|
1 | 1 | --TEST-- |
2 | | -Check for fs read and close |
| 2 | +Check for poll read and close |
3 | 3 | --FILE-- |
4 | 4 | <?php |
5 | | -$fd = fopen("testfile","w+"); |
| 5 | +$socket = stream_socket_server("tcp://0.0.0.0:9999", $errno, $errstr); |
| 6 | +stream_set_blocking($socket, 0); |
| 7 | + |
| 8 | +$poll = uv_poll_init(uv_default_loop(), $socket); |
| 9 | +uv_poll_start($poll, UV::READABLE, function($poll, $stat, $ev, $socket){ |
| 10 | + $conn = stream_socket_accept($socket); |
| 11 | + |
| 12 | + uv_poll_stop($poll); |
| 13 | + $pp = uv_poll_init(uv_default_loop(), $conn); |
| 14 | + uv_poll_start($pp, UV::WRITABLE, function($poll, $stat, $ev, $conn) use (&$pp){ |
6 | 15 |
|
7 | | -$poll = uv_poll_init(uv_default_loop(), $fd); |
8 | | -uv_poll_start($poll, UV::WRITABLE, function($poll, $stat, $ev, $conn){ |
9 | | - fwrite($conn, "Hello"); |
10 | | - fclose($conn); |
11 | | - $data = file_get_contents("testfile"); |
12 | | - if ($data == "Hello") { |
13 | | - echo "OK"; |
14 | | - } |
15 | | - unlink("testfile"); |
16 | 16 | uv_poll_stop($poll); |
| 17 | + uv_fs_write(uv_default_loop(), $conn, "OK", -1, function($conn, $nwrite){ |
| 18 | + fclose($conn); |
| 19 | + }); |
| 20 | + }); |
17 | 21 | }); |
18 | 22 |
|
| 23 | +$address = uv_ip4_addr("0.0.0.0","9999"); |
| 24 | +$tcp = uv_tcp_init(); |
| 25 | +uv_tcp_connect($tcp, $address, function($client, $stat){ |
| 26 | + $request = <<<EOF |
| 27 | +HELO |
| 28 | +EOF; |
| 29 | + uv_write($client,$request,function($client, $stat){ |
| 30 | + if ($stat == 0) { |
| 31 | + uv_read_start($client,function($client, $nread, $buffer){ |
| 32 | + echo "$buffer\n"; |
| 33 | + //var_dump($buffer); |
| 34 | + uv_close($client); |
| 35 | + }); |
| 36 | + } else { |
| 37 | + uv_close($client); |
| 38 | + } |
| 39 | + }); |
| 40 | +}); |
| 41 | + |
| 42 | + |
19 | 43 | uv_run(); |
20 | 44 | --EXPECT-- |
21 | 45 | OK |
0 commit comments