Мне нужен скрипт, который прослушивает соединения и выводит полученные данные. Я попытался следующий код:Сервер сокета отображает полученные данные на странице
header('Content-Type: text/plain; charset=utf-8');
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
echo "$errstr ($errno)\n";
} else {
while ($conn = stream_socket_accept($socket)) {
$data = fread($conn, 100);
var_dump($data);
flush();
fclose($conn);
}
fclose($socket);
}
основана на этом примере: php.net/manual/en/function.stream-socket-server.php
Проблема заключается в том, что на странице, когда ничего не появляется клиент подключается и отправляет некоторые данные. Использование методов предотвращения буферизации, таких как ob_implicit_flush()
, и даже установка output_buffering = Off
в php.ini не поможет. Может ли буферизация в браузере привести к этому, и есть ли что-нибудь еще, что я должен попробовать?