以下是我的代码。我希望在几秒钟后没有数据可读时,fread可以返回。我调用了stream_set_timeout。但它不起作用。我也叫了stream_get_meta_data。它还没有满足我的需求。我正在连接chat.facebook.com。
$fp = fsockopen($server, 8888, $errno, $errstr);
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
fwrite($fp, $xml);
stream_set_timeout($fp, 5);
$str = fread($fp,8192);//This code will hang when there don't have data to read.
答案 0 :(得分:1)
如果您阅读了stream_set_timeout()
的手册,您就知道stream_set_timeout()
在超时的情况下唯一能做的就是设置{{1}返回的数组的'timed_out'键到真。
stream_get_meta_data()