$changed = $clients;
.<?php
// выводит: stream
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";
// prints: curl
$c = curl_init ();
echo get_resource_type($c) . "\n"; // это работает до версии PHP 8.0.0 так как с версии 8.0 curl_init возвращает объект CurlHandle, а не ресурс
?>
function writeToLog($data)
{
$DEBUG_FILE_NAME = '222';
$title = '';
if (!$DEBUG_FILE_NAME)
return false;
$log = "\n-----n";
$log .= date("Y.m.d G:i:s")."\n";
$log .= (strlen($title) > 0 ? $title : 'DEBUG')."\n";
$log .= print_r($data, 1);
$log .= "\n-----n";
file_put_contents(__DIR__."/222.txt", $log, FILE_APPEND);
return true;
}
------Array
(
[server] => Resource id #8
[changed] => Array
(
)
[result] =>
[clients] => Array
(
[0] => Resource id #8
)
)
$clients = array($server);
$changed = $clients;
in_array($server, $changed);
stream_select
массив обнуляется... stream_select
его там нет. А сам stream_select
равен нулю.$read[0]
начал выдавать такое же значение, что и $socket
.if (in_array($socket, $read)) {//есть новое соединение
//принимаем новое соединение и производим рукопожатие:
writeToLog('Рукопожопие...');
if (($connect = stream_socket_accept($socket, 1)) && $info = handshake($connect)) {
$connects[] = $connect;//добавляем его в список необходимых для обработки
writeToLog('Рукопожопие2...');
onOpen($connect, $info);//вызываем пользовательский сценарий
}
unset($read[array_search($socket, $read)]);
}
in_array($socket, $read)
равен единице.
$changed
должны прийти доступные для чтения сокеты. Но$changed
приходит пустым.