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?