Wie verschlüsselt man nicht blockierende PHP-Socket-Streams?

Ich versuche, die Funktion stream_socket_client () von PHP nicht blockierend (asynchron) zu verwenden. Die Dokumentation auf der PHP-Website zeigt an, dass das Optionsflag STREAM_CLIENT_ASYNC_CONNECT dies aktivieren sollte. Der folgende Code ...

$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.";

Gibt Folgendes aus:

Total time taken: 0.76204109191895 secs.

Offensichtlich blockiert die Funktion (was auch durch die Tatsache unterstützt wird, dass das Weglassen des STREAM_CLIENT_ASYC_CONNECT-Flags die Skriptausgabe für die Gesamtzeit nicht wesentlich ändert.

Irgendwelche Ideen, warum dies passieren könnte und wie ein nicht blockierender Verbindungsversuch erzwungen werden kann?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage