1--TEST-- 2Testing stream_get_meta_data() "blocked" field on a udp socket 3--FILE-- 4<?php 5 6/* Setup socket server */ 7$server = stream_socket_server('tcp://127.0.0.1:31333'); 8 9/* Connect to it */ 10$client = fsockopen('tcp://127.0.0.1:31333'); 11if (!$client) { 12 die("Unable to create socket"); 13} 14 15/* Accept that connection */ 16$socket = stream_socket_accept($server); 17 18var_dump(stream_get_meta_data($client)); 19 20echo "\n\nSet blocking to false:\n"; 21var_dump(socket_set_blocking($client, 0)); 22var_dump(stream_get_meta_data($client)); 23 24echo "\n\nSet blocking to true:\n"; 25var_dump(socket_set_blocking($client, 1)); 26var_dump(stream_get_meta_data($client)); 27 28fclose($client); 29fclose($socket); 30fclose($server); 31 32?> 33--EXPECTF-- 34array(7) { 35 ["timed_out"]=> 36 bool(false) 37 ["blocked"]=> 38 bool(true) 39 ["eof"]=> 40 bool(false) 41 ["stream_type"]=> 42 string(%d) "tcp_socke%s" 43 ["mode"]=> 44 string(2) "r+" 45 ["unread_bytes"]=> 46 int(0) 47 ["seekable"]=> 48 bool(false) 49} 50 51 52Set blocking to false: 53bool(true) 54array(7) { 55 ["timed_out"]=> 56 bool(false) 57 ["blocked"]=> 58 bool(false) 59 ["eof"]=> 60 bool(false) 61 ["stream_type"]=> 62 string(%d) "tcp_socke%s" 63 ["mode"]=> 64 string(2) "r+" 65 ["unread_bytes"]=> 66 int(0) 67 ["seekable"]=> 68 bool(false) 69} 70 71 72Set blocking to true: 73bool(true) 74array(7) { 75 ["timed_out"]=> 76 bool(false) 77 ["blocked"]=> 78 bool(true) 79 ["eof"]=> 80 bool(false) 81 ["stream_type"]=> 82 string(%d) "tcp_socke%s" 83 ["mode"]=> 84 string(2) "r+" 85 ["unread_bytes"]=> 86 int(0) 87 ["seekable"]=> 88 bool(false) 89} 90