Мониторинг активных подключений к серверу с помощью PHP

Я хочу иметь возможность отслеживать активные подключения к моему серверу. В частности, я хочу отслеживать, сколько времени пользователи тратят на потоковую передачу MP3-файлов, чтобы я мог использовать эту информацию для построения статистики о том, сколько времени пользователи тратят на прослушивание отдельных треков и т. д. Поскольку нет взаимодействия с PHP-скриптами (или, по крайней мере, t на данный момент) Мне интересно, есть ли способ опросить сервер, чтобы найти список подключенных в настоящее время IP-адресов? Возможно, альтернативой будет обработка потоковой передачи через PHP-скрипт с использованием readfile? Любые идеи? Спасибо :)


person Ollie Brooke    schedule 10.01.2012    source источник
comment
список подключенных IP-адресов -> google man netstat   -  person zerkms    schedule 11.01.2012


Ответы (2)


Единственный способ сделать это эффективно — передать файл через ваш PHP-скрипт с помощью readfile(). Используя этот метод, вы можете подсчитать количество отправленных байтов и сделать предположение о том, сколько было воспроизведено на стороне клиента.

Однако невозможно узнать (без каких-либо измерений на стороне клиента), что было сыграно. Разные проигрыватели буферизуют данные по-разному, и даже это часто зависит от сетевых условий. Вы можете только знать, сколько данных вы отправили клиенту. Обычно для аналитики этой информации достаточно, так как она обычно используется для сравнения с другими воспроизводимыми треками. Вы можете использовать такой инструмент, как FFMPEG, чтобы определить длину звука в файле и разделить ее на процент данных в отправленном вами файле. Это будет менее точным для треков с переменным битрейтом, но будет наиболее эффективным способом приблизить вас к цели.

person Brad    schedule 11.01.2012

С помощью построения PHP-функций вы не справитесь с этой задачей. Но есть инструменты для получения этой информации.

В частности, взгляните на netstat. В Linux посетите man(8) для netstat.

person SteAp    schedule 10.01.2012