2008-03-19 17:38:23 +00:00
|
|
|
--TEST--
|
|
|
|
Testing stream_get_meta_data() "timed_out" field on a udp socket
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
/* Setup socket server */
|
|
|
|
$server = stream_socket_server('tcp://127.0.0.1:31337');
|
2008-08-15 09:27:27 +00:00
|
|
|
if ($server === false) {
|
|
|
|
die("stream_socket_server() failed\n");
|
|
|
|
}
|
2008-03-19 17:38:23 +00:00
|
|
|
|
|
|
|
/* Connect to it */
|
|
|
|
$client = fsockopen('tcp://127.0.0.1:31337');
|
2008-08-15 09:27:27 +00:00
|
|
|
if ($client === false) {
|
|
|
|
die("fsockopen() failed\n");
|
|
|
|
}
|
2008-03-19 17:38:23 +00:00
|
|
|
|
|
|
|
/* Accept that connection */
|
|
|
|
$socket = stream_socket_accept($server);
|
2008-08-15 09:27:27 +00:00
|
|
|
if ($socket === false) {
|
|
|
|
die("stream_socket_accept() failed\n");
|
|
|
|
}
|
2008-03-19 17:38:23 +00:00
|
|
|
|
|
|
|
var_dump(stream_get_meta_data($client));
|
|
|
|
|
|
|
|
echo "\n\nSet a timeout on the client and attempt a read:\n";
|
|
|
|
socket_set_timeout($client, 0, 1000);
|
|
|
|
fread($client, 1);
|
|
|
|
var_dump(stream_get_meta_data($client));
|
|
|
|
|
|
|
|
echo "\n\nWrite some data from the server:\n";
|
|
|
|
fwrite($socket, "12345");
|
|
|
|
var_dump(stream_get_meta_data($client));
|
|
|
|
|
|
|
|
echo "\n\nRead some data from the client:\n";
|
|
|
|
fread($client, 5);
|
|
|
|
var_dump(stream_get_meta_data($client));
|
|
|
|
|
|
|
|
fclose($client);
|
|
|
|
fclose($socket);
|
|
|
|
fclose($server);
|
|
|
|
|
|
|
|
?>
|
2008-03-20 12:14:06 +00:00
|
|
|
--EXPECTF--
|
2008-03-19 17:38:23 +00:00
|
|
|
array(7) {
|
|
|
|
["stream_type"]=>
|
2008-03-20 08:35:44 +00:00
|
|
|
string(%d) "tcp_socke%s"
|
2008-03-19 17:38:23 +00:00
|
|
|
["mode"]=>
|
|
|
|
string(2) "r+"
|
|
|
|
["unread_bytes"]=>
|
|
|
|
int(0)
|
|
|
|
["seekable"]=>
|
|
|
|
bool(false)
|
|
|
|
["timed_out"]=>
|
|
|
|
bool(false)
|
|
|
|
["blocked"]=>
|
|
|
|
bool(true)
|
|
|
|
["eof"]=>
|
|
|
|
bool(false)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Set a timeout on the client and attempt a read:
|
|
|
|
array(7) {
|
|
|
|
["stream_type"]=>
|
2008-03-20 08:35:44 +00:00
|
|
|
string(%d) "tcp_socke%s"
|
2008-03-19 17:38:23 +00:00
|
|
|
["mode"]=>
|
|
|
|
string(2) "r+"
|
|
|
|
["unread_bytes"]=>
|
|
|
|
int(0)
|
|
|
|
["seekable"]=>
|
|
|
|
bool(false)
|
|
|
|
["timed_out"]=>
|
|
|
|
bool(true)
|
|
|
|
["blocked"]=>
|
|
|
|
bool(true)
|
|
|
|
["eof"]=>
|
|
|
|
bool(false)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Write some data from the server:
|
|
|
|
array(7) {
|
|
|
|
["stream_type"]=>
|
2008-03-20 08:35:44 +00:00
|
|
|
string(%d) "tcp_socke%s"
|
2008-03-19 17:38:23 +00:00
|
|
|
["mode"]=>
|
|
|
|
string(2) "r+"
|
|
|
|
["unread_bytes"]=>
|
|
|
|
int(0)
|
|
|
|
["seekable"]=>
|
|
|
|
bool(false)
|
|
|
|
["timed_out"]=>
|
|
|
|
bool(true)
|
|
|
|
["blocked"]=>
|
|
|
|
bool(true)
|
|
|
|
["eof"]=>
|
|
|
|
bool(false)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Read some data from the client:
|
|
|
|
array(7) {
|
|
|
|
["stream_type"]=>
|
2008-03-20 08:35:44 +00:00
|
|
|
string(%d) "tcp_socke%s"
|
2008-03-19 17:38:23 +00:00
|
|
|
["mode"]=>
|
|
|
|
string(2) "r+"
|
|
|
|
["unread_bytes"]=>
|
|
|
|
int(0)
|
|
|
|
["seekable"]=>
|
|
|
|
bool(false)
|
|
|
|
["timed_out"]=>
|
|
|
|
bool(false)
|
|
|
|
["blocked"]=>
|
|
|
|
bool(true)
|
|
|
|
["eof"]=>
|
|
|
|
bool(false)
|
|
|
|
}
|