小编Pet*_*hie的帖子

如何加密非阻塞PHP套接字流?

我试图以非阻塞(异步)方式使用PHP的stream_socket_client()函数.PHP网站上的文档表明STREAM_CLIENT_ASYNC_CONNECT选项标志应启用此功能.但是,以下代码......

$start_time = microtime(true);
$sockets[$i] = stream_socket_client('ssl://74.125.47.109:993', $errint, $errstr, 1, STREAM_CLIENT_ASYNC_CONNECT);
$end_time = microtime(true);
echo "Total time taken: " . ($end_time-$start_time) . " secs.";
Run Code Online (Sandbox Code Playgroud)

输出以下内容:

Total time taken: 0.76204109191895 secs.
Run Code Online (Sandbox Code Playgroud)

显然,该函数是阻塞的(还有一个事实是,遗漏STREAM_CLIENT_ASYC_CONNECT标志并没有有意义地改变"总耗时"脚本输出.

有关为什么会发生这种情况的任何想法,以及如何强制执行非阻塞连接尝试?

php sockets ssl

8
推荐指数
1
解决办法
2062
查看次数

标签 统计

php ×1

sockets ×1

ssl ×1